Рубрики
Uncategorized

Загрузка файлов и инкапсуляция с помощью PHP

Автор оригинала: David Wong.

Этот пример для вас, чтобы поделиться операцией загрузки файла PHP и инкапсуляцией конкретного кода, для вашей справки, конкретное содержимое выглядит следующим образом

Для загрузки PHP-файлов существует два основных шага

1. Сначала интерфейс HTML записывает форму файла и загружает веб-страницу

2. Когда отправлена точка интерфейса, PHP-скрипт веб-сервера использует супер глобальные переменные$_ Files и функцию move_ uploaded_ файла

Внешний html-код выглядит следующим образом:





 
 < title > file upload


 
php" method="post" enctype="multipart/form-data">
< input type = text "value = file name" > < input type = button "value = image upload / > < input type = submit "value = submit / >

Примечание: Когда форма загружает файл, метод должен использовать post, и он должен быть объявлен

2. Загрузка PHP-скрипта на сервер. PHP-код выглядит следующим образом:

Примечание: Вы можете использовать print_ r($_ Файлы) для печати и просмотра содержимого супер глобальной переменной. Вы можете видеть, что соответствующая информация файла помещена в эту переменную; как

array (
 'uploadpic' => 
 array (
 'name' = >'1 Inn homepage.jpg ',
 'type' => 'image/jpeg',
 'tmp_name' => 'C:\Windows\Temp\php3F1C.tmp',
 'error' => 0,
 'size' => 1706919,
 ),
)ok

Из массива переменных вы можете узнать имя загруженного файла, тип файла, местоположение веб-сервера, на котором временно хранится изображение (если вы хотите изменить путь к временному хранилищу, вы можете перейти в php.ini, чтобы изменить его), информацию об ошибке и размер файла (вы можете ограничить размер загружаемого файла или изменить его в php.ini).

Ошибки заключаются в следующем:

Его значение равно 0, ошибка не возникает, и файл успешно загружен. Его значение равно 1, и количество загруженных файлов превышает количество загруженных файлов в php.ini_ max_ Значение, ограниченное параметром размер файла. Его значение равно 2, а размер загруженного файла больше, чем в файле HTML form_ Значение, указанное параметром size. При значении 3 загружается только часть файла. При значении 4 файлы не загружаются. При значении 6 временная папка не была найдена. Были представлены PHP 4.3.10 и PHP 5.0.3. При значении 7 файл не удалось записать. Был представлен PHP 5.1.0.

===== Загрузка файла класс инкапсуляции==== = =

maxsize*1024*1024)
 {
 return true;
 }
 else 
 {
 return false;
 }
 }
 
 //Determine whether the suffix matches the
 function isAllowExt($ext)
 {
 return in_array(strtolower($ext), explode(',', $this->ext));
 }
 
 //Get file suffix
 function getFileExt($file)
 {
 $arr = explode('.', $file);
 return end($arr);
 }
 
 //For image upload, $pickey is the name value of input, $save_ Path save path
 function upload($pickey,$save_path)
 {
 if(!isset($_FILES[$pickey]))
 {
 return false;
 }
 
 if($_FILES[$pickey]['error'] !=0)
 {
 $this->errmsg = $this->getErrorType($_FILES[$pickey]['error']);
 return false;
 }
 $file_ext = $this->getFileExt($_FILES[$pickey]['name']);
 echo $file_ext;
 if(!$this->isAllowExt($file_ext))
 {
 $this - > errmsg = the file suffix does not match;
 return false;
 }
 echo $_FILES[$pickey]['size'];
 if(!$this->isAllowSize($_FILES[$pickey]['size']))
 {
 $this - > errmsg = size exceeds limit;
 return false;
 }
 
 $str = "abcdefjhijkmnpqrst23456789";
 $filename = date("YmdHis",time()).substr(str_shuffle($str), 0,6);
 $dir = $this->makeDir($save_path);
 if(move_uploaded_file($_FILES[$pickey]['tmp_name'], $dir.'/'.$filename.'.'.$file_ext))
 {
 
 return true;
 }
 else 
 {
 $this - > errmsg = upload failed;
 return false;
 }
 }
 
 //Create directory
 function makeDir($save_path)
 {
 $path = $save_path.'/'.date("Ymd",time());
 
 if(is_ Dir ($path) | MKDIR ($path, 0777, true)) // the directory file does not exist, please create it
 {
 echo $path;
 return $path;
 }
 else 
 {
 return false;
 }
 }
 
 //Error type analysis
 function getErrorType($error)
 {
 $errmsg = "";
 switch ($error)
 {
 case 0:
 $errmsg = "file uploaded successfully";
 break;
 case 1:
 $errmsg = "the number of files uploaded exceeds the number uploaded in php.ini_ max_ Value restricted by the filesize option ';
 break;
 case 2:
 $errmsg = "the size of the uploaded file exceeds the max in the HTML form_ FILE_ The value specified by the size option;
 break;
 case 3:
 $errmsg = "only part of the file is uploaded";
 break;
 case 4:
 $errmsg = "no file uploaded";
 break;
 case 6:
 $errmsg = "temporary folder not found";
 break;
 case 7:
 $errmsg = file write failed;
 break;
 }
 return $errmsg;
 }
}

Использование заключается в следующем:

upload('uploadpic', "./fileupload"))
{
 echo "ok";
}
else
{
 echo $upfile->errmsg;
}

Эта статья была отсортирована по “Сводке операций загрузки файлов PHP”, более замечательному контенту, добро пожаловать, чтобы научиться читать.

Выше приведено все содержание этой статьи, я надеюсь помочь вам учиться, и я надеюсь, что вы сможете больше поддерживать разработчика.