PHP move_uploaded_file函数($_FILES[’file’][’tmp_name’]临时文件路径问题
表单post方法上传文件,代码如下,可能是写入权限的问题,我用的虚拟主机,下面的$uploadfile路径应该是什么呢?
if (!move_uploaded_file($_FILES[’upfile’][’tmp_name’],$uploadfile))
{
echo "文件上传失败,错误信息:".$_FILES[’upfile’][’error’]."
";
print_r($_FILES);
}
文件上传失败,错误信息:0
Array ( [upfile] => Array ( [name] => 106363.jpg [type] => image/jpeg [tmp_name] => C:\WINDOWS\temp\phpFC.tmp [error] => 0 [size] => 2450 ) )
hi8 14:54:34
$uploadfile = /listen/web/网站目录 这样可以吗?
这个是PHP ,move_uploaded_file上传函数, 如果上传失败,则输出错误信息。
if (!move_uploaded_file($_FILES[’upfile’][’tmp_name’],$uploadfile))
{
echo "文件上传失败,错误信息:".$_FILES[’upfile’][’error’]."
";
print_r($_FILES);
}
这个是页面输出结果
文件上传失败,错误信息:0
Array ( [upfile] => Array ( [name] => 106363.jpg [type] => image/jpeg [tmp_name] => C:\WINDOWS\temp\phpFC.tmp [error] => 0 [size] => 2450 ) )
文件上传失败,错误信息:0 错误信息是0的话, 应该是上传成功了才对的。 但是网站相关目录里找不到。
$uploadfile 是我上传的文件的路径。 “/lis....../we...../网站目录”
“当主机开通后会在自动生成3个文件夹:"web、db、log",请将您的文件上传到"web"目录下。。 ”
“传WEB” 啊??
测试结论:
$uploadfile用相对地址: $uploadfile="upimages/.$_FILES[’upfile’][’name’]"
测试正确的代码贴出如下,请参考:
function getname($exname){
$dir = "upimages/"; //2009.11.25
if(!is_dir($dir)){
mkdir($dir,0777);
}
$time=time();
$name=$time.".".$exname;
return $dir.$name;
}
$exname=strtolower(substr($_FILES[’upfile’][’name’],(strrpos($_FILES[’upfile’][’name’],’.’)+1)));
if ((($_FILES["upfile"]["type"] == "image/gif")
|| ($_FILES["upfile"]["type"] == "image/jpeg")
|| ($_FILES["upfile"]["type"] == "image/pjpeg"))
&& ($_FILES["upfile"]["size"] < 80000))
{
$uploadfile = getname($exname);
if (move_uploaded_file($_FILES[’upfile’][’tmp_name’],$uploadfile))
{
if(!trim($_FILES[’upfile’][’name’]=""))
{
$uploadfile="/shopsale/admin/".$uploadfile;
}
else
{
$uploadfile="";
}
mysql_query("insert into tb_,);
echo "";
}
else
{
echo "文件上传失败,错误信息:".$_FILES[’upfile’][’error’]."
";
print_r($_FILES);
}
}
else{
echo "无效的文件类型 Invalid file
或文件大小超过80k";
}
没懂你的意思