我的程序正常接收到了上个页面传过来的$_FILES变量,我的一段程序是这样的:
希望高人给我指点
定义变量
$error = "";
$msg = "";
$fileElementName = 'goodsImg';
$file_path = "/goodsImg\\";
if (is_uploaded_file($_FILES[$fileElementName]['tmp_name']))
{
//如果写成$tmp = $_FILES[$fileElementName]['tmp_name']就出错
$tmp = $_FILES[$fileElementName]['tmp_name']."\\"; /*这个if里的的语句没有执行,应该是move_uploaded_file函数返回了FALSE*/
if (move_uploaded_file($tmp,$file_path."/".$_FILES[$fileElementName]['name']))
{
$msg .= $_FILES[$fileElementName]['name'];
}
/*这个else中的语句被输出*/
else
{
$error.= "零时文件:".$tmp."目标文件:".$file_path."/".$_FILES[$fileElementName]['name'];
}
}
else
{
$error.= "文件传送失败!";
}不报任何错误,输出:临时文件:/tmp/phppaOCL6f 目标文件/goodsImg/aaa.jpg
目标文件的路径是对的,而且也是可以写的。为什么if里面的回返回false呀!!!???
我服务器用的nginx谢谢了!
希望高人给我指点
定义变量
$error = "";
$msg = "";
$fileElementName = 'goodsImg';
$file_path = "/goodsImg\\";
if (is_uploaded_file($_FILES[$fileElementName]['tmp_name']))
{
//如果写成$tmp = $_FILES[$fileElementName]['tmp_name']就出错
$tmp = $_FILES[$fileElementName]['tmp_name']."\\"; /*这个if里的的语句没有执行,应该是move_uploaded_file函数返回了FALSE*/
if (move_uploaded_file($tmp,$file_path."/".$_FILES[$fileElementName]['name']))
{
$msg .= $_FILES[$fileElementName]['name'];
}
/*这个else中的语句被输出*/
else
{
$error.= "零时文件:".$tmp."目标文件:".$file_path."/".$_FILES[$fileElementName]['name'];
}
}
else
{
$error.= "文件传送失败!";
}不报任何错误,输出:临时文件:/tmp/phppaOCL6f 目标文件/goodsImg/aaa.jpg
目标文件的路径是对的,而且也是可以写的。为什么if里面的回返回false呀!!!???
我服务器用的nginx谢谢了!
解决方案 »
- php动态表导出数据出问题。求高手
- 明明上传了图片,判断图片图型时不通过。
- Xoops 版本升级遇到的问题
- 「求助」关于PHP回调函数的疑问
- 上传时,如何避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦?
- 在iframe框架里的内容,自动换行,提交表单时,能记住其换行符吗?
- 百分大赠送 如何将windows下的php移植到linux
- 问一个PHP在查询MYSQL数据库的问题,谢谢!
- 想念vivanboy(被迫早起的鸟儿)兄,凡来者都有分!
- 一个js问题,如何从js的each循环数据中实现点击一次更新一条不同数据的功能
- PHP中如何快速通过方法名定位到方法
- PHP+Mysql开发站内消息系统.求个思路!(答者有分!)
这个地址成了/goodImg\
$tmp = $_FILES[$fileElementName]['tmp_name']."\\";
这个是tempname\
$file_path."/".$_FILES[$fileElementName]['name']
这样一来,最终的路径不就成了:
/goodsImg/filename.jpg\bool move_uploaded_file ( string $filename , string $destination )
按照你的代码,你是将tempname\移动到了/goodsImg/filename.jpg\似乎变成了新的目录了。
=>
$tmp = $_FILES[$fileElementName]['tmp_name'];$file_path = "/goodsImg\\";
=>
$file_path = "/goodsImg";
$tmp = $_FILES[$fileElementName]['tmp_name']."\\";
改成
$tmp = $_FILES[$fileElementName]['tmp_name'];
之后函数move_uploaded_file($tmp,$file_path."/".$_FILES[$fileElementName]['name'])就出错了
我现在把$tmp = $_FILES[$fileElementName]['tmp_name']."\\";打印出来是/tmp/phppaOCL6f
如果我把$tmp = $_FILES[$fileElementName]['tmp_name']."\\";后面的"\\"去掉,函数就出错了