GD功能不起作用

时间:2010-12-08 00:46:56

标签: php gd

我正在尝试为我的网站创建缩略图。我使用

提取文件
   $chapterZip = new ZipArchive();
if ($chapterZip->open($_FILES['chapterUpload']['tmp_name'])) 
    {
        if($chapterZip->extractTo("Manga/".$_POST['mangaName']."/".$_POST['chapterName']))
        {
         for($i = 0; $i < $chapterZip->numFiles; $i++) {

然后遍历图像并使用第一个图像将路径发送到此方法

 function createthumb($source,$output,$new_w,$new_h)

在我尝试使用以下代码

之前,所有值都会被读取
if (preg_match("/jpg|jpeg/",$ext)){$src_img=imagecreatefromjpeg($source);}
    if (preg_match("/png/",$ext)){$src_img=imagecreatefrompng($source);}
    if (preg_match("/gif/",$ext)){$src_img=imagecreatefromgif($source);}

文件正在满足正则表达式的先决条件并且正在运行代码,但是imagecreate函数没有创建新文件,我检查了我的phpinfo文件以查看GD库是否已启用它是,所以简而言之,我不知道什么是错的。

http://www.neuromanga.com/phpinfo.php

2 个答案:

答案 0 :(得分:0)

确保GD已正确安装且功能存在:

<pre>
<?
$arr = get_defined_functions();
sort($arr['internal']);
print_r($arr);
?>

也。虽然这会“创建”图像,但您仍然必须将其写入屏幕或文件才能使用它。在状态下它正在使用imagecreatefrom [.. whatever]它只是你web应用程序中当前状态的一个对象,并且还没有被渲染出来用于存储或显示。为此你需要做任何你要做的事情并使用imagejpeg  或imagegifimagepng实际将对象渲染回某个目的地。您可以通过执行echo $src_img来测试这一点,Resource id #1应该打印如下内容:{{1}}

答案 1 :(得分:0)

确保您的$ source路径正确无误。如果$ src_img不是新图像,那么它是什么?