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

由于大小原因,无法上载文件

姬天宇
2023-03-14

我正在尝试用PHP上传一个文件!我试过上传PNG、JPG、PDF、TXT文件,这些上传只在文件大小为20kb左右时有效。当我尝试上载大小约为150KB的文件时,它会打印$\u FILE error=3,文件名为“1234.png”,其中tmp\u名称为空,图像本身也是空的!这是我的密码

ini_set('display_errors',1);
error_reporting(-1);

$imageTmp = addslashes($_FILES['image']['tmp_name']);
//$imageTmp = $_FILES['image']['tmp_name'];
$imageOldName = addslashes($_FILES['image']['name']);
$imageData = file_get_contents($imageTmp);
//$imageData = base64_encode($imageTmp);

echo 'image temp name: '. $imageTmp .' ';
echo 'error: '. $_FILES['image']['error']. ' ';
echo 'image name: '. $imageOldName. ' ';
echo 'image data: '. $imageData. ' ';
echo 'image type:'. $_FILES['image']['type'];
echo "<pre>";
echo "POST:";
print_r($_POST);
echo "FILES:";
print_r($_FILES);
echo "</pre>";


$inipath = php_ini_loaded_file();

if ($inipath) {
echo 'Loaded php.ini: ' . $inipath;
} else {
echo 'A php.ini file is not loaded';
}

我尝试了多种解决方案,例如更改post_max_size=200Mupload_max_filesize=200M的值,而不是32M

以下是尝试上载4KB txt文件的结果:

image temp name: /Applications/MAMP/tmp/php/phpOc7d6a error: 0 
image Name: test.txt image data: hello image type:text/plain
POST:Array
(
[submit] => Record Test
)
FILES:Array
(
[image] => Array
    (
        [name] => test.txt
        [type] => text/plain
        [tmp_name] => /Applications/MAMP/tmp/php/phpOc7d6a
        [error] => 0
        [size] => 405
    )

  )  
  Loaded php.ini: /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

上传PNG文件127KB的结果:

警告:file_get_contents():文件名不能为空路径/test1.php在第10行图像临时名称:错误:3图像名称:IMG_8807。JPG图像数据:图像类型:

POST:Array
(
)
FILES:Array
(
[image] => Array
    (
        [name] => IMG_8807.JPG
        [type] => 
        [tmp_name] => 
        [error] => 3
        [size] => 0
    )

)
Loaded php.ini: /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

顺便说一句,上传失败后,服务器崩溃并显示502网关,我必须重新启动Apache!

共有1个答案

寿亦
2023-03-14

正如php文档所说:

UPLOAD_ERR_PARTIAL is given when the mime boundary is not found after the file data. 
A possibly cause for this is that the upload was cancelled by the user (pressed ESC, etc).

也许 吧:

>

  • 权限是错误的

    服务器上的可用空间不足。

    从iOS上传。

    由于浏览器限制,上载文件夹时可能会发生此错误。发生在MacOSX上。

    这是一些你可以尝试的东西。希望这有帮助。

  •  类似资料:
    • 我正在尝试使用spring boot上载大于1Mb的文件

    • 在Websphere Application Sever8.5和RAD 8.5.1上尝试配置JMS队列连接工厂/激活规范时,我得到以下错误:

    • 问题内容: 在充气城堡的示例中,我找到了以下代码: 当我使用此代码编写p12时,我尝试使用openssl或钥匙串将其打开,并提示我输入密码。我用他们的密码 尝试打开P12,但是它不起作用。此外,当我按原样运行此主要功能时,将执行此行 为了正确地在p12上输入密码,他们的示例有问题吗?我基本上是想做相当于 如果有其他想法,也可以使用Bouncy Castle在Java中使用。 编辑 看NISTObj

    • 问题内容: 我是PHP的新手,正在使用mail函数发送无法正常工作的电子邮件。我收到成功消息,但仍然无法正常工作 相同的代码 我是否缺少任何内容,我是否需要为此功能包括任何文件。.我来自asp.net,这是在网站上找到的基本脚本。 我尝试了其他与邮件相关的脚本,这些脚本也无法使用。 我正在网站上而不是在本地上运行此脚本 问题答案: 这可能是配置错误。如果您坚持使用PHP 函数,则必须进行编辑。 如

    • 当我运行下面的函数时,它下载源文件大约3分钟,然后关闭会话,即使一个1-1.6GB的文件只下载了38-41MB(变化)。 从Paramiko日志文件中可以看出,SSh连接在SFTP会话关闭时保持打开状态: DEB[20120913-10:05:00.894]Thr=1帕拉米科。运输:切换到新键...DEB[20120913-10:05:06.953]Thr=1 Paramiko。传输:重新密钥(命

    • 问题内容: 只是尝试删除所有文档,并这样做: 然后承诺: 我得到答复: 但是当我搜索时,我仍然会得到结果。 我做错什么了? 问题答案: 不确定是否重要,但是您也可以编码: 要尝试的另一件事是使用POST方法(调用update的首选方法):