gpt4 book ai didi

php - 尝试在本地上传 1M 文件时出现 fatal error

转载 作者:行者123 更新时间:2023-12-02 07:16:31 26 4
gpt4 key购买 nike

“ fatal error :允许的 31457280 字节内存已耗尽(已尝试分配 9828 字节)”。

这是我收到的错误,但我只是想上传一张 1mb 的图片。我增加了 php.ini 中的内存限制和执行时间。我在使用 Firefox 的 Mac 上的本地 MAMP 服务器上尝试此操作。这将用于在线图片库。有任何想法吗?下面是代码:

    ini_set("memory_limit","30M");
if(isset($_POST['submit'])){
if (isset ($_FILES['new_image'])){
$imagename = $_FILES['new_image']['name'];
$source = $_FILES['new_image']['tmp_name'];
$target = "images/".$imagename;
move_uploaded_file($source, $target);

$imagepath = $imagename;
//below here for the removed code


$save = "thumbs/uploads/" . $imagepath; //This is the new file you saving
$file = "images/" . $imagepath; //This is the original file
$imagesize = getimagesize($file);

list($width, $height) = $imagesize;

unset($imagesize);

if($width>$height)
{
$modwidth = 150;
$diff = $width / $modwidth;
$modheight = $height / $diff;
}else{
$modheight = 150;
$diff = $height / $modheight;
$modwidth = $width / $diff;
}
$tn = imagecreatetruecolor($modwidth, $modheight);
$image = imagecreatefromjpeg($file);
$imagecopy = imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);

imagedestroy($image);
imagedestroy($im);
imagedestroy($imagecopy);
imagedestroy($source);

$imagejpg = imagejpeg($tn, $save, 100);
imagedestroy($tn);
imagedestroy($imagejpg);

编辑

希望现在已经解决了这个问题。我的一位同事一直有解决方案,但没有告诉我!

最佳答案

您可能正在加载图像以对其进行一些操作。这导致图像数据被解压缩,这对于大图像需要大量内存(我认为每个像素大约 4 个字节)。

您可以选择不处理图像,或者在 PHP 之外进行处理 - 例如通过调用 ImageMagick 或其他一些程序。这在一定程度上取决于您要实现的目标。

关于php - 尝试在本地上传 1M 文件时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com