代码
<?php
if($_FILES['file']['error'] > 0)
{
echo '上传遇到错误,';
switch ($_FILES['file']['error'])
{
case 1:
echo '上传的文件超过了php.ini中upload_max_filesize选项限制的值';
break;
case 2:
echo '上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值';
break;
case 3:
echo '文件只有部分被上传';
break;
case 4:
echo '上传文件大小为0';
break;
}
}
else
{
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
echo '文件名为:' . $_FILES['file']['name'] . '<br/>';
echo '文件类型为:' . $_FILES['file']['type'] . '<br/>';
echo '文件大小为:' . $_FILES['file']['size'] . '字节<br/>';
$dir = 'upload/' . iconv('UTF-8', 'gbk', basename($_FILES['file']['name']));
if(move_uploaded_file($_FILES['file']['tmp_name'], $dir))
{
echo '文件上传成功';
}
else
{
echo '文件上传失败';
}
}
}
?>
问题
is_uploaded_files返回true,但是move_uploaded_file返回false
解决
检查是否是目录问题,补全目录检查是否能成功上传
问题为解决
检查是否是上传目录无相应权限
l
drwxr-xr-x 2 root root 4.0K Nov 21 18:29 upload
发现并无写权限
我们添加写权限
chmod 777 ./upload
l
drwxrwxrwx 2 root root 4.0K Nov 21 18:29 upload
然后检查是否能够成功上传
问题解决