当前位置: 首页 > 知识库问答 >
问题:

PHP上传0字节图像

杭泉
2023-03-14

当我用PHP上传imagen时,我没有收到任何错误,并且服务器上的图像是0字节。考虑的事项:

  • 文件上传在phpinfo()中打开。
  • 在phpinfo()中,上传文件的最大大小为8M
  • Upload_tmp_dir已设置并具有777个权限
  • 如果我运行file_exists($_FILES['userfile']['tmp_name']),它将返回true
  • 如果我运行getimagesize($\u FILES['userfile']['tmp\u name']),我会收到一个读取错误通知。图像有效,可以使用系统图像查看器打开

我使用一个非常简单的上传脚本进行测试:

HTML:

<form enctype="multipart/form-data" action="upload.php" method="POST">
        <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
        Send this file: <input name="userfile" type="file" />
        <input type="submit" value="Send File" />
</form> 

PHP:

<?php

//$uploaddir = '/var/www/html/upload';
$uploaddir = '';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo "<p>";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Upload failed";
}

echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";

?>

当我提交文件时,我没有收到任何错误,图像是在目标文件夹中创建的,具有正确的名称和扩展名,但正如标题所说,它是0字节(当然,它不能被打开)。

谢谢你抽出时间。

编辑Sajad Karuthedath刚才让我看到$_FILE['FILE']['size']的值是0!!导致文件未正确上载的问题可能是什么?

编辑2上传txt,pdf,tar文件工作正常。。问题只存在于图像类型文件!

共有1个答案

彭梓
2023-03-14

试试这个简单的上传脚本,

您应该在保存到服务器之前检查错误

 if ( 0 < $_FILES['file']['error'] ) {
    echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
    move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$_FILES['file']['name']);
      }

注意:更改phpinfo()后,不要忘记重新启动服务器或xampp

注意:在php中也更改post_max_size=25M

 类似资料:
  • 本文向大家介绍PHP实现多图上传和单图上传功能,包括了PHP实现多图上传和单图上传功能的使用技巧和注意事项,需要的朋友参考一下 下面一段代码给大家介绍php实现单图上传和多图上传的功能,具体代码如下所示: 总结 以上所述是小编给大家介绍的PHP实现多图上传和单图上传功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 问题内容: 我对jQuery和Ajax函数还比较陌生,但是过去几天一直在使用Ajax表单。我在尝试上传图像时遇到文件上传问题。在寻找资源时,我找不到任何有用的东西,因为它们似乎过于复杂,毫无意义,没有任何解释,这无助于我进一步学习。 我已经编写了以下代码来处理Ajax中的图片上传: 这向文件发送了一个请求,但是没有发送数据,基本上我的表单实际上是这样的: 似乎没有任何数据在标头中传递,我认为我将通

  • 注意:未定义索引:第33行C:\xampp\htdocs\page1.php中的图片 警告:pathinfo()要求参数2较长,字符串以C:\xampp\htdocs\page1给出。php第35行对不起,只有JPG,JPEG,PNG

  • 我不懂Python语言。有人能帮我理解我是否正确地将此转换为PHP吗?我想用PHP上传一个文件到http://telegra.ph,但是我不知道如何从PHP上传。 以下代码是Python Telegraph API包装库中的一个示例: 这是我的PHP代码,不起作用。有什么不对劲吗? 当我运行此代码时,我看到以下错误: 警告:复制(telegra.ph/upload):无法打开流:HTTP包装器不支

  • 本文向大家介绍PHP+Ajax+JS实现多图上传,包括了PHP+Ajax+JS实现多图上传的使用技巧和注意事项,需要的朋友参考一下 本文实例在wap站项目中需要做一个ajax多图片上传,结合js插件做了一个,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

  • 问题内容: 我正在编写脚本以将图像上传到我的应用程序。以下安全步骤是否足以使应用程序从脚本角度安全? 使用.httaccess禁止PHP在上传文件夹中运行。 如果文件名包含字符串“ php”,则不允许上传。 仅允许扩展名:jpg,jpeg,gif和png。 仅允许图像文件类型。 禁止使用两种文件类型的图像。 更改图像名称。 上载到不是根目录的子目录。 这是我的脚本: 欢迎任何新提示:) 问题答案: