PHP文件上传
本文最后更新于 2024-06-09,文章内容可能已经过时。
文件上传
一、文件上传实现
1、通过form表单提交上传数据
注意:
- 上传时候,一定要能使用POST方法提交
- 表单已经使用enctype="multipart/form-data"属性
<form action="../php/upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<input type="submit" value="确定">
</form>
2、php: 通过超全局变量接收文件
$name = $_FILES['photo']['name']; //获取文件名字
$tmp = $_FILES['photo']['tmp_name']; //获取临时保存文件
$type = $_FILES['photo']['type']; //获取文件MIME类型
$size = $_FILES['photo']['size']; //获取文件大小
二、保存上传文件
1、删除已存在的同名文件:
@unlink(文件名);
@: 不在页面显示报错信息,(如果文件不存在,unlink会报错)
2、判断文件是否存在:
file_exists(文件名);
3 、输入输出流方式保存文件:
$f = fopen("/tmp/abc",'r');
$content = fread($f,$size);
fclose($f);
$f = fopen("../images/$name",'w');
fwrite($f,$content);
fclose($f);
4、读写文件函数操作:
$content = file_get_contents($f); //读文件
file_put_contents($f,$content); //写文件
5、文件移动函数:
move_uploaded_file($f,"../images/$name");
三、修改保存文件的名称
1、获取扩展名:
$ext = end(explode($name));
2、生成新名称:
//设置时区date_default_timezone_set("PRC");
//或者全局修改时区:修改php.ini文件,将Module Settings的[Date]块的date.timezone前的;去掉,改成date.timezone = PRC。这样在程序里直接使用date函数就可以了。
$newName = date("ymdhis").rand(100,999).".".$ext;
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Windesky
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果