致命错误:允许的内存大小。请帮忙

时间:2014-11-12 03:28:36

标签: php

大家好,请帮助我。

这是我的代码,

Line 1 -    $imagename = $_FILES['file']['name'];
Line 2 -    $source = $_FILES['file']['tmp_name'];
Line 3 -    $target = "images/".$imagename;
Line 4 -    move_uploaded_file($source, $target);
Line 5 -
Line 6 -    $imagepath = $imagename;
Line 7 -    $save = "images/" . $imagepath; //This is the new file you saving
Line 8 -    $file = "images/" . $imagepath; //This is the original file
Line 9 -
Line 10 -   list($width, $height) = getimagesize($file); 
Line 11 -
Line 12 -   $tn = imagecreatetruecolor($width, $height) ; 
Line 13 -   $image = imagecreatefromjpeg($file); 
            imagecopyresampled($tn, $image, 0, 0, 0, 0, $width, $height, $width, $height) ; 

            imagejpeg($tn, $save, 80) ; 

            $save = "thumb_/" . $imagepath; //This is the new file you saving
            $file = "images/" . $imagepath; //This is the original file

            list($width, $height) = getimagesize($file) ; 

            $modwidth = 130; 

            $diff = $width / $modwidth;

      $modheight = 185; 
      $tn = imagecreatetruecolor($modwidth, $modheight) ; 
      $image = imagecreatefromjpeg($file) ; 
      imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width,     $height) ; 

      imagejpeg($tn, $save, 80) ;

我在这里有错误。

致命错误: 在C:\ xampp \ htdocs \ MagicLine \ admin \ cleo \ cleo中,允许的内存大小为134217728个字节(尝试分配13056个字节)。第13行的PHP

2 个答案:

答案 0 :(得分:1)

您需要在php.ini文件中提高内存限制。当它试图为其中一个操作分配13KB以上时,128MB限制已经用尽。

http://php.net/manual/en/ini.core.php#ini.memory-limit

您可以使用ini_set()在运行时设置此项。

注意:PHP脚本通常不会自己使用128MB内存,但这取决于您正在做什么。我没有这些图像功能的经验,因此您必须确定这是正常用法还是在脚本中的某处有内存泄漏。

答案 1 :(得分:0)

将此代码添加到脚本的开头:

counter

然后从以下三个选项中进行选择:

  1. $old = ini_get('memory_limit');
  2. ini_set('memory_limit', '128M');
  3. ini_set('memory_limit', '256M');

在脚本末尾(ini_set('memory_limit', '512M'); 之前)添加:

exit;

现在您的问题应该解决了。