我正在将字符串转换为图像,并希望在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.'" />';
?>
我在做错误。请指教
答案 0 :(得分:2)
在文件夹名称的末尾添加斜杠:$tempDir = '/temp/';
现在,您的图片被解释为temp56385145.png.png
而不是预期的temp/56385145.png.png
(作为我测试的示例编号。)
另外,您可能还想使用相对路径。
即:$tempDir = 'temp/';
或$tempDir = '../temp/';
取决于代码的执行位置。
或作为完整的系统路径:$tempDir = '/var/user/you/httpdocs/temp/';