将字符串转换为图像时出现imagepng错误

时间:2014-12-14 15:57:10

标签: php image-processing

我正在将字符串转换为图像,并希望在meta

中提供图像的位置

我有这段代码,但这给了我错误

  

PHP警告:imagepng()期望参数1为资源,在

中给出null
   <?php 

   $randimagefilename=rand(1000,100000000);

     $tempDir = '/temp';
     $fileName = $tempDir.$randimagefilename.'.png';



    header("Content-type: image/png");

    $string = 'hiiiiiiiiiiiiiiiiiiiiiiii how are you what is going on ';

  $font  = 8;
   $width  = imagefontwidth($font) * strlen($string);
   $height = imagefontheight($font);

 $image = imagecreatetruecolor ($width,$height);
  $white = imagecolorallocate ($image,255,255,255);
  $black = imagecolorallocate ($image,0,0,0);
 imagefill($image,0,0,$white);

  imagestring ($image,$font,0,0,$string,$black);

  imagepng($image, $fileName); 

imagedestroy($image);


    echo' <meta name="image_src" content="'.$fileName.'" />';
  ?>

我在做错误。请指教

1 个答案:

答案 0 :(得分:2)

在文件夹名称的末尾添加斜杠:$tempDir = '/temp/';

现在,您的图片被解释为temp56385145.png.png而不是预期的temp/56385145.png.png(作为我测试的示例编号。)

另外,您可能还想使用相对路径。

即:$tempDir = 'temp/';$tempDir = '../temp/';
取决于代码的执行位置。

或作为完整的系统路径:$tempDir = '/var/user/you/httpdocs/temp/';