Въпрос относно създаване на функция

Pupe64etoo_92

Registered
Искам да направя една функция да ми проверява типа на файла.
Тоест ето пример

Код:
function file_format($fail){
}

Да обясня, този код които давам със swich конструкция проверява какво е оформлението на файла и го експлодва(остава само формата) и според него пренасочвам от коя директория да го визоализира. Искам да е функция и да си я викам където ми трябва.

Ето и кода
Код:
$what_format = end(explode('.', $image_video));
switch($what_format){
case"avi";case"flv";case"mpeg";case"mp4";case"wmv";
$dir=$video_dir;
break;
 default;
$dir="$image_dir"
}
 
Нещо не разбирам въпроса! Какъв е проблема да направиш такава функция:
PHP:
function file_format($image_video) {
  $what_format = end(explode('.', $image_video));
  switch($what_format) {
  case"avi";case"flv";case"mpeg";case"mp4";case"wmv";
       $dir=$video_dir;
       break;
  default;
       $dir="$image_dir"
  }
  return $dir;
}

пък си я викай:
$dir = file_format($filename);
и прави каквото искаш с директорията :)
 
Код:
function file_format($file, $default = '')
{
    $extension = substr(strrchr($file, '.'), 1);
    
    switch($extension)
    {
        case 'avi':
        case 'flv':
        case 'mpeg':
        case 'mp4':
        case 'wmv':
            return dirname($file) . DIRECTORY_SEPARATOR . $extension . DIRECTORY_SEPARATOR . basename($file);
    
        default:
            return $default;
        break;
    }
    
    return false;
}

$avi = file_format('/path/to/file.avi', '/path/to/default.avi');
var_dump($avi); // /path/to/avi/file.avi

Не разбирам много какво точно искаш, но ето ти пример.Функцията връща файла директно с папката.
Например ако сложиш uploads/files/file.avi, то ще върне uploads/file/avi/file.avi, ако файла не е от избраните, ще върне файла по подразбиране, 2рия параметър.

Все пак обаче, не съм го тествал.
 
PHP:
<?php

//This function has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way. 
function file_format($file) {
	$mime = mime_content_type($file);
	$info = explode('/',$mime);
	return $info[0];
}

echo file_format('php.gif'); //image
echo file_format('test.php'); //text
 

Back
Горе