Home  >  Article  >  Backend Development  >  PHP file upload examples and detailed explanation of parameters_PHP tutorial

PHP file upload examples and detailed explanation of parameters_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:18:08694browse

1. Upload form upload.html

Program code
HTML

Copy code The code is as follows:






1. Note

This is a tag. If we want to upload files, we must specify multipart/form-data, otherwise the server will Don't know what to do.
2. It is worth noting that the hidden value field of the form option MAX_FILE_SIZE in the file upload.html can limit the size of the uploaded file by setting its Value.
3. The value of MAX_FILE_SIZE is just a suggestion for browsers. In fact, it can be easily bypassed. So don't rely on this value to limit browser restrictions. In fact, the maximum upload file size in PHP settings will not be invalid. But it's better to include MAX_FILE_SIZE in the form, as it saves users the trouble of spending time waiting for a large file to be uploaded only to find out that the file is too big.

Parameters involved in PHP uploading files

Program code
PHP

Copy code The code is as follows:

$f=&$HTTP_POST_FILES['Myfile '];
$dest_dir='uploads';//Set the upload directory
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'] ;//Set the file name to the date plus the file name to avoid duplication
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//Set upload Attributes of the file

or

Copy code The code is as follows:


The contents of the $_FILES array in the above example are as follows. We assume that the name of the file upload field is userfile (the name can be whatever you want)

$_FILES['userfile']['name'] The original name of the client machine file.
$_FILES['userfile']['type'] The MIME type of the file, which requires browser support for this information, such as "image/gif".
$_FILES['userfile']['size'] The size of the uploaded file, in bytes.
$_FILES['userfile']['tmp_name'] The temporary file name stored on the server after the file is uploaded.
$_FILES['userfile']['error'] Error code related to the file upload
Value: 0; No error occurs, the file upload is successful.
Value: 1; The uploaded file exceeds the value limited by the upload_max_filesize option in php.ini.
Value: 2; The size of the uploaded file exceeds the value specified by the MAX_FILE_SIZE option in the HTML form.
Value: 3; Only part of the file was uploaded.
Value: 4; No files were uploaded.

The default upload limit of PHP is a maximum of 2M. If you want to upload files exceeding this setting, you need to adjust some parameters of PHP, apache, etc. Below, we briefly introduce some parameters involved in PHP file upload:

file_uploads
Whether to allow file uploading via HTTP switch, the default is ON

upload_tmp_dir
upload_tmp_dir is used to describe the temporary directory where files uploaded by PHP are placed. If you want to upload files, you must ensure that the server has not closed the temporary files and has write permissions on the folder. If not specified, PHP will use the system default value.

upload_max_filesize
The maximum allowed file size for uploading, the default is 2M

PHP

Copy code The code is as follows:

define('MUILTI_FILE_UPLOAD', '10'); //Up to 10 files can be uploaded at the same time
define('MAX_SIZE_FILE_UPLOAD', '500000' ); //File size No more than 5MB
define('FILE_UPLOAD_DIR', 'd:/'); //Directory for uploaded files
//File names allowed to be uploaded
$array_extention_interdite = array( '.php' , '. php3' , '.php4' , '.exe' , '.msi' , '.htaccess' , '.gz' ); //Extension of uploaded file

//Public function to display information
function func_message($message='', $ok=''){
echo '';
if ($ok == true){
echo '' ;
} // www.jb51.net
if($ok == false){
echo '';
}
echo '
' .$message.'
'.$message.'
';
}
//Process form submission
$action = (isset($_POST['action'])) ? $_POST[' action'] :'' ;
$file = (isset($_POST['file'])) ? $_POST['file'] :'' ;
if($file != '') {
$file = $file.'/';
}
$message_true = '';
$message_false = '';

switch($action){
case 'upload' :                                                                                   $nb]['size'] >= 10 ){
if ($_FILES['file_'.$nb]['size'] <= MAX_SIZE_FILE_UPLOAD ){
if (!in_array(ereg_replace( '^[[:alnum:]]([-_.]?[[:alnum:]])*.' ,'.', $_FILES['file_'.$nb]['name'] ) , $ array_extention_interdite)) {
if ($ _ Post ['file_name _'. $ nb]! = '') {
$ file_name_final = $ _post ['file_name_'. $ nb]. on; <}>} else {
                                                                                                                                                       ​>                    $file_name_final = strtr($file_name_final, 'aaaaaa' ,                                                                                                                 name_final );

$_FILES[ 'file_'.$nb]['name'] = $file_name_final;                                                                      $file . $file_name_final );

               $message_true .= 'File has been uploaded: '.$_FILES['file_'.$nb]['name'] .'
';                                                   $message_false .= 'File upload failed: '.$_FILES['file_'.$nb]['name'] .'
';
    } 
                }else{ 
                    $message_false .= '文件尺寸超过'.MAX_SIZE_FILE_UPLOAD/1000 . 'KB : "                               '.$_FILES['file_'.$nb]['tmp_name'].'"
';} 
                } 
    }//end for 
    break; 

?> 
 
 
多文件上传 
 
 
 
 
 
 
 
 
if($message_true != '') {  func_message($message_true, true); } 
if($message_false != ''){  func_message($message_false, false); } 
?> 
 
for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ++ ){  
?> 
 
 
 
 
 
 

 

上传文件: 新文件名(包括扩展名):
上传目的地址: 
 







www.bkjia.comtruehttp://www.bkjia.com/PHPjc/621691.htmlTechArticle1.上传表单 upload.html 程序代码 HTML 复制代码 代码如下: form enctype="multipart/form-data" action="upload.php" method="post" input type="hidden" name="max_file_size...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn