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

Php 由于大小原因,无法上载文件,php,file-upload,mamp,Php,File Upload,Mamp,我正在尝试用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']);

我正在尝试用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';
}
上载PNG文件127KB的结果:

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


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

如php文档所述:

也许:

  • 权限是错误的

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

  • 从iOS上传

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


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

php.ini中的最大上载文件大小设置是什么?您确定更改了正确的php.ini吗?更改后是否重新启动了Apache?调用
phpinfo()
@ASK yup时,是否将
upload\u max\u filesize
的值设置为
200M
,上载最大大小和发布最大大小都是200@JayBlanchardupload_max_filesize=200M,我回显inipath的原因是为了确保编辑的是正确的,是的,我用的是Mac操作系统!我将在windows machinetry上尝试重新安装服务器。
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
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
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).