要求的文件类型");
if(!move_uploaded_file($tmp_name, $file_path))
die("复制文件失败,请重新上传");
switch($error)
{
case 0:
return ;
case 1:
die("上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值");
case 2:
die("上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值");
case 3:
die("文件只有部分被上传");
case 4:
die("没有文件被上传");
}
}
参数说明
$type,$name,$size,$error,$tmp_name对应全局变量
php文件上传表单摘自drupal的代码_网学
浏览:
FILES中的相关变量,即:
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''type'']:文件的MIME类型,需要浏览器提供该信息的支持,例如
图片类型“image/gif”。
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''name'']:客户端文件的原名称。
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''size'']:已上传文件的大小,单位为字节。
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''tmp_name'']:文件被上传后在服务端储存的临时文件名。
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''error'']:和该文件上传相关的错误代码,即
值:0:没有错误发生,文件上传成功。
值:1:上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
值:2:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
值:3:文件只有部分被上传。
值:4:没有文件被上传。
$ext:上传文件扩展名
$targetname:文件上传后的最终文件名
$upload_dir:上传至哪个目录下,采用的是相对路径
注释:
第3行~第6行:设定图片文件上传的大小,以及文件的MIME类型以及扩展名,由于此代码为
图片文件上传
程序,所以两个数组中罗列了所有的
图片类型,比如PNG,GIF,JEPG等。
第17行~第24行:如果文件是空的,size等于0;如果
图片文件的扩展名或者类型不符,则跳出。
第26行:move_uploaded_file函数的功能是将upload_tmp_dir设定的服务端临时目录中的文件移至由$file_path指定的文件,注意如果目标文件已存在则覆盖目标文件
如何上传多个文件?比如同时上传3个文件
只需将
复制代码 代码如下:
<input name="userfile" type="file">
改成
复制代码 代码如下:
<input name="userfile[]" type="file">
<input name="userfile[]" type="file">
<input name="userfile[]" type="file">
对应的在调用此函数时,
php文件上传表单摘自drupal的代码_网学
浏览:
FILES[''userfile''][''name''][0],代表第一个文件的相关文件信息,依此类推,其他也一样。
总结
此函数是PHP文件上传中最简单的核心代码,图片上传只是其中一种,只需要修改或者扩充$FILE_MIMES和$FILE_EXTS数组的相关信息,即可实现其他类型的文件上传功能。在函数的外围,根据自己的需要编写相关的其他代码即可实现其他功能,比如和数据库的关联等。