php-文件上传

来源:互联网 发布:苹果7当前网络不可用 编辑:程序博客网 时间:2024/06/10 04:26

简单的编程,只为学习PHP。


<?phpheader("Content-Type:text/html; charset=utf-8");error_reporting(0);print<<<END<html><head><title>文件上传实例</title></head><body><form action="3.php?path=/var/www/test/cx" method="POST" enctype="multipart/form-data"><input type="file" name="file" /><input type="submit" name="submit" value="上传" /></form></body></html>END;$uppath=$_SERVER["SCRIPT_FILENAME"];$uppath=dirname($uppath);$uppath = isset($_GET['path'])?trim($_GET['path']):$uppath;if ($_FILES["file"]["error"] > 0){echo "Error: " . $_FILES["file"]["error"] . "<br />";echo "fuck";}else{if(move_uploaded_file($_FILES["file"]["tmp_name"], $uppath.'/' . $_FILES["file"]["name"])){echo "Uploaded: " . $_FILES["file"]["name"] . "<br />";echo "Type: " . $_FILES["file"]["type"] . "<br />";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";echo "tmp_file: " . $_FILES["file"]["tmp_name"]."<br />";echo "Stored in: " . $uppath.'/'.$_FILES["file"]["name"];}}?>

move_uploaded_file() 对安全模式和 open_basedir 都是敏感的。不过,限制只针对 destination 路径


$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码


$_FILES["file"]["error"]

UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.



0 0
原创粉丝点击