php-文件上传

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


<?php
header("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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值