Home > Backend Development > PHP Tutorial > PHP upload function example code_PHP tutorial

PHP upload function example code_PHP tutorial

WBOY
Release: 2016-07-21 15:39:24
Original
949 people have browsed it

1. Upload form upload.html

Copy code The code is as follows:







1. Note that
This is a tag. If we want to upload files, we must specify it as multipart/form-data, otherwise the server will not 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

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 with the date plus the file name to avoid duplication
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//Set the attributes of the uploaded file

or

========================================== ================================ 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 named arbitrarily)
Copy the code The code is as follows:

$_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 occurred, the file upload was 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 upload 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 file, you must ensure that the server has not closed temporary files and has write permission to the folder. If not specified, PHP uses the system default value

upload_max_filesize
The maximum size of the uploaded file allowed, the default is 2M
Copy code The code is as follows:

define('MUILTI_FILE_UPLOAD', '10'); //Up to 10 files can be uploaded simultaneously
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 '' ;
}
if($ok == false){
echo '< ;td width="100"> ';
}
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' :
chmod(FILE_UPLOAD_DIR,0777);
for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ++ ){
if( $_FILES['file_'.$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].$extension ;
}else {
$file_name_final = $_FILES['file_'.$nb]['name'] ;
}
//Modification of file name
$file_name_final = strtr($file_name_final, 'aaaaaa', 'AAAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeeiiiioooooouuuuyy');
$file_name_final = preg_replace('/([^.a-z0-1]+)/i', '_', $file_ name_final );

$_FILES['file_'.$nb] ['name'] = $file_name_final;
move_uploaded_file( $_FILES['file_'.$nb]['tmp_name'] , FILE_UPLOAD_ DIR . $file . $file_name_final );

$message_true .= 'File has been uploaded: '.$_FILES['file_'.$nb]['name'] .'
';
}else{
$message_false .= 'File upload failed: '. $_FILES['file_'.$nb]['name'] .'
';
}
}else{
$message_false .= 'File size exceeds'.MAX_SIZE_FILE_UPLOAD/1000 . 'KB : " '.$_FILES['file_'.$nb]['tmp_name'].'"
';}
}
}//end for
break;
}
?>


Multiple file upload










if($message_true != '') { func_message($ message_true, true); }
if($message_false != ''){ func_message($message_false, false); }
?>

for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb + + ){
?>

< td>







Upload file: New file name (including extension):< ?php echo $nb; ?>
上传目的地址:






www.bkjia.comtruehttp://www.bkjia.com/PHPjc/321547.htmlTechArticle1.上传表单 upload.html 复制代码 代码如下: form enctype="multipart/form-data" action="upload.php" method="post" input type="hidden" name="max_file_size" value="100000" i...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template