用php上传文件
大家好,我正在用php上传文件 一切正常,但move_uploded_文件不起作用 显示的每个变量记录和文件的所有权限都已设置用php上传文件,php,file,file-upload,Php,File,File Upload,大家好,我正在用php上传文件 一切正常,但move_uploded_文件不起作用 显示的每个变量记录和文件的所有权限都已设置 function uploadfile($filename) { $filetype=$filename["type"]; $filename=$filename['name']; $filetempname=$filename['tmp_name']; if($filetype=="application/msword")
function uploadfile($filename)
{
$filetype=$filename["type"];
$filename=$filename['name'];
$filetempname=$filename['tmp_name'];
if($filetype=="application/msword")
{
move_uploaded_file($filetempname,"resume/".$filename);
}
}
这一行行不通,因为几乎可以保证浏览器不会尝试检测文件mime类型。取出if
语句,它应该会工作
您仍然应该尝试以不同的方式验证该文件(并绝对确保它不是PHP,因为这将是一个巨大的安全漏洞)。
$filename
数组在这一行变成一个字符串:$filename=$filename['name']代码>
我想知道你为什么没有收到错误消息
尝试使用另一个var名称而不是$filename作为函数参数,我相信它会起作用 尝试将display\u errors=on设置为on,然后您将收到错误消息;-)或者在else语句中输出一些消息,以查看if条件是否不匹配。首先设置错误报告,在脚本的顶部放置以下内容:
ini_set('display_errors', true);
error_reporting(E_ALL);
然后确保文件类型确实是application/msword
echo $filetype;
并确保路径正确:
echo "resume/".$filename;
还要确保:
- 目录具有写入权限
- 您正在指定正确的路径
- 尝试您的路径,如
“/resume/”$filename
- 尝试使用
$\u SERVER['DOCUMENT\u ROOT']作为路径的前缀。
上传时必须检查的第一个元素是$filename[“错误”]请解释发生了什么,出现了什么错误消息,以及$filetempname
包含了什么。只是一个猜测:文件夹resume
存在是吗?但是您指定了一个相对路径,那么执行脚本的文件夹是否存在?那么您需要提供大约5000倍的详细信息。打开错误报告?+1个漂亮的捕捉。从技术上讲,这是一个警告,他/她已经关掉了。可能
echo "resume/".$filename;