php上传临时文件夹
这其实是PHP出于对上传文件的一种安全性因素的考虑,存放于临时的目录中、在你需要的时候再自行取出。你从临时文件夹中取出的时候要对其进行安全性检查(对于安全性要求较高的)
‘贰’ php如何实现文件上传
所谓上传就是把文件从你电脑本地复制到你的项目指定文件夹下。
但这有个中间过程,就是复制到系统指定的临时文件夹生成临时文件。
然后将临时文件复制到你指定的文件夹下。
剩下的就是各种验证了。
给你个图片上传方法
//上传一张图片
$pic = $_FILES['pic'];
function upload($pic){
$tmp_name = $pic['tmp_name'];
$name = $pic['name'];
$type = $pic['type'];
$size = $pic['size'];
if(!is_uploaded_file($tmp_name)) exit('不是上传文件');
//判断是否是图片
$mine = array('image/png','image/jpg','image/gif','image/jpeg');
if(!in_array($type,$mine)) exit('图片格式不正确');
//判断是否有错误码
$error = $pic['error'];
switch ($error) {
case 1:
exit("超出上传文件的最大限制");
case 2:
exit("超出了指定的文件大小");
case 3:
exit("只有部分文件被上传");
case 4:
exit("文件没有被上传");
case 6:
exit("找不到临时文件夹");
case 7:
exit("文件写入失败");
}
echo "================<br/>";
echo "上传文件名称是:".$name."<br/>";
echo "上传文件类型是:".$type."<br/>";
echo "上传文件大小是:".$size."<br/>";
echo "上传后系统返回的值是:".$error."<br/>";
echo "上传文件的临时存放路径是:".$tmp_name."<br/>";
echo"开始移动临时文件".'<br>';
$des_name = 'up/'.mt_rand().time().'.'.basename($type);
$res = move_uploaded_file($tmp_name, $des_name);
if($res){
echo "================<br/>";
echo "上传图片成功".'<br>';
}
}
‘叁’ php上传文件时为什么要用到临时文件名tmp_name
上传都是先保存在临时文件夹中,需要程序来移动或复制文件。
‘肆’ PHP中怎样将上传的图片存入指定文件夹或目录,就说这个
使用这个函数move_uploaded_file ($filename,$path);使用范例: if(!empty($_FILES["magfile"])) {
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/uploads/";
$uploaddir.="test.jpg";
if(move_uploaded_file($_FILES["magfile"]["tmp_name"], $uploaddir)) {
echo "上传成功!";
}else{
print_r($_FILES);
}
}第一个参数是上传到服务器临时文件夹的绝对路径,$_FILES['文件域名称']['tmp_name']第二个参数是需要放到服务器上的绝对路径+文件名。觉得好请采纳~
‘伍’ PHP中上传文件的临时目录的问题
move_uploaded_file(“临时目录”,“新文件”)
这个临时目录是用$_FILES['userfile']['tmp_name']获取的
新文件 就是:
新文件目录+文件名
这个自己定义 。。。。。比如 我写个例子
$upfile="D:/aaa/" 目录名
$filename=$_FILES['userfile']['name'] 获取的原文件名
新文件就是 $newfile=$upfile.$filename;
用.连接起来。
move_uploaded_file($_FILES['userfile']['tmp_name'],$newfile))
执行之后就会移动的D:/aaa/下面
‘陆’ php如何把上传的文件弄成临时文件,24小时之后自动删除
windows的计划任务或者linux的定时器,定时去访问一个php文件(这个php文件负责判断文件上传日期,然后删除)。当然做不到自动删除,只可能通过这种方式轮询。