Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用phpThumb生成缩略图并将其保存到文件中?_Php_File_Arrays_Thumbnails_Phpthumb - Fatal编程技术网

如何使用phpThumb生成缩略图并将其保存到文件中?

如何使用phpThumb生成缩略图并将其保存到文件中?,php,file,arrays,thumbnails,phpthumb,Php,File,Arrays,Thumbnails,Phpthumb,我不知道如何使用phpThumb类生成缩略图,因为已经有了一个带有文件路径的数组。然后将每个图像的结果保存在另一个路径上,但使用相同的名称 谢谢大家;) 编辑: 我的代码是这样的: echo "A iniciar gerador de miniaturas para a área de cliente: \n"; include $wincli['files']['phpThumbClass']; $files = file_list($wincli['dirs']['l

我不知道如何使用phpThumb类生成缩略图,因为已经有了一个带有文件路径的数组。然后将每个图像的结果保存在另一个路径上,但使用相同的名称

谢谢大家;)

编辑: 我的代码是这样的:

    echo "A iniciar gerador de miniaturas para a área de cliente: \n";
    include $wincli['files']['phpThumbClass'];
    $files = file_list($wincli['dirs']['logos']);

    $phpThumb = new phpThumb();
    foreach( $files as $file ) {
        echo "  # A converter o ficheiro '".basename($file)."' : ";
        if(is_file($file)){         
            $phpThumb->setSourceFilename($file); 
            $phpThumb->setParameter('w', 880);
            $phpThumb->setParameter('h', 241);
            $phpThumb->setParameter('q', 90);
            $phpThumb->setParameter('zc', 1);
            $outputFilename = $wincli['dirs']['logosthumbs'].$file;

            if($phpThumb->GenerateThumbnail()){
                if($phpThumb->RenderToFile($outputFilename)){
                    echo "OK \n";
                }else{
                    echo "Falhou (Ao guardar no ficheiro)\n";
                }
            }else{
                echo "Falhou (Ao gerar miniatura)\n";
            }
        }else{
            echo "Falhou (Ficheiro inexistente)\n";
        }
    }
这是调试过程:

phpThumb() v1.7.7-200612252156 in file "phpthumb.class.php" on line 216
setSourceFilename(/var/www/virtual/test.com/wincli/logos/001-0.jpg) set $this->sourceFilename to "/var/www/virtual/test.com/wincli/logos/001-0.jpg" in file "phpthumb.class.php" on line 234
  file_exists() = 0 in file "phpthumb.class.php" on line 1036
is_executable() = 0 in file "phpthumb.class.php" on line 1037
ImageMagickThumbnailToGD() aborting because cannot find convert in $this->config_imagemagick_path (), and `which convert` returned () in file "phpthumb.class.php" on line 1066
$AvailableImageOutputFormats = array(text;ico;bmp;wbmp;gif;png;jpeg) in file "phpthumb.class.php" on line 825
$this->thumbnailFormat set to $this->config_output_format "jpeg" in file "phpthumb.class.php" on line 835
$this->thumbnailQuality set to "90" in file "phpthumb.class.php" on line 852
!$this->config_allow_src_above_docroot therefore setting "/var/www/virtual/test.com/wincli/logos/001-0.jpg" (outside "/var/www/virtual/test.com/htdocs") to null in file "phpthumb.class.php" on line 1001
$this->sourceFilename set to "" in file "phpthumb.class.php" on line 754
phpThumb() v1.7.7-200612252156

"" does not exist in file "phpthumb.class.php" on line 3404
setCacheDirectory() starting with config_cache_directory = "" in file "phpthumb.class.php" on line 859
$this->config_cache_directory () is not a directory in file "phpthumb.class.php" on line 895
SetCacheFilename() failed because $this->config_cache_directory is empty in file "phpthumb.class.php" on line 2808
starting ExtractEXIFgetImageSize() in file "phpthumb.class.php" on line 2665
GetImageSize("") failed in file "phpthumb.class.php" on line 2688
$this->useRawIMoutput=false because "fltr" is set in file "phpthumb.class.php" on line 1151
ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty in file "phpthumb.class.php" on line 1196
ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 2695
SetOrientationDependantWidthHeight() starting with ""x"" in file "phpthumb.class.php" on line 2644
SetOrientationDependantWidthHeight() setting w="880", h="241" in file "phpthumb.class.php" on line 2660
EXIF thumbnail extraction: (size=0; type=""; 0x0) in file "phpthumb.class.php" on line 2747
starting SourceImageToGD() in file "phpthumb.class.php" on line 3005
$this->useRawIMoutput=false because "fltr" is set in file "phpthumb.class.php" on line 1151
ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty in file "phpthumb.class.php" on line 1196
Not using EXIF thumbnail data because $this->exif_thumbnail_data is empty in file "phpthumb.class.php" on line 3046
$this->gdimg_source is still empty in file "phpthumb.class.php" on line 3098
ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3100
phpThumb() v1.7.7-200612252156

Unknown image type identified by "" () in SourceImageToGD()[3210] in file "phpthumb.class.php" on line 3404
SourceImageToGD() failed in file "phpthumb.class.php" on line 312
有关更多信息,请参阅

有关此错误的修复的更多信息,请参见

    echo "A iniciar gerador de miniaturas para a área de cliente: \n";
    include $wincli['files']['phpThumbConfig'];
    include $wincli['files']['phpThumbClass'];
    $files = file_list($wincli['dirs']['logos']);

    echo "A gerar novas miniaturas: \n";

    foreach( $files as $file ) {
        if(
            (strtolower(get_file_extension($file))=="jpg") ||
            (strtolower(get_file_extension($file))=="jepg") ||
            (strtolower(get_file_extension($file))=="bmp") ||
            (strtolower(get_file_extension($file))=="png")
        ){
            echo "  -> ".basename($file)." : ";
            if(is_file($file)){
                $phpThumb = new phpThumb();
                $phpThumb->setSourceFilename($file);
                $phpThumb->setParameter('config_output_format', 'jpeg');
                $phpThumb->setParameter('config_allow_src_above_docroot', true);
                $phpThumb->setParameter('w', 880);
                $phpThumb->setParameter('h', 241);
                $phpThumb->setParameter('q', 90);
                $phpThumb->setParameter('zc', 1);
                $phpThumb->setParameter('config_cache_directory', $wincli['dirs']['phpThumbCache']);
                $phpThumb->setParameter('config_temp_directory', $wincli['dirs']['phpThumbCache']);
                $phpThumb->setParameter('config_cache_disable_warning', true);
                $phpThumb->setParameter('config_imagemagick_path', null);
                $phpThumb->setParameter('config_prefer_imagemagick', false);
                $outputfile = $wincli['dirs']['logosthumbs'].basename($file);

                if($phpThumb->GenerateThumbnail()){
                    if($phpThumb->RenderToFile($outputfile)){
                        echo "OK \n";
                    }else{
                        echo "Falhou (Ao guardar no ficheiro)\n";
                    }
                }else{
                    echo "Falhou (Ao gerar miniatura)\n";
                }
            }else{
                echo "Falhou (Ficheiro inexistente?)\n";
            }
        }
    }
修正错误

    echo "A iniciar gerador de miniaturas para a área de cliente: \n";
    include $wincli['files']['phpThumbConfig'];
    include $wincli['files']['phpThumbClass'];
    $files = file_list($wincli['dirs']['logos']);

    echo "A gerar novas miniaturas: \n";

    foreach( $files as $file ) {
        if(
            (strtolower(get_file_extension($file))=="jpg") ||
            (strtolower(get_file_extension($file))=="jepg") ||
            (strtolower(get_file_extension($file))=="bmp") ||
            (strtolower(get_file_extension($file))=="png")
        ){
            echo "  -> ".basename($file)." : ";
            if(is_file($file)){
                $phpThumb = new phpThumb();
                $phpThumb->setSourceFilename($file);
                $phpThumb->setParameter('config_output_format', 'jpeg');
                $phpThumb->setParameter('config_allow_src_above_docroot', true);
                $phpThumb->setParameter('w', 880);
                $phpThumb->setParameter('h', 241);
                $phpThumb->setParameter('q', 90);
                $phpThumb->setParameter('zc', 1);
                $phpThumb->setParameter('config_cache_directory', $wincli['dirs']['phpThumbCache']);
                $phpThumb->setParameter('config_temp_directory', $wincli['dirs']['phpThumbCache']);
                $phpThumb->setParameter('config_cache_disable_warning', true);
                $phpThumb->setParameter('config_imagemagick_path', null);
                $phpThumb->setParameter('config_prefer_imagemagick', false);
                $outputfile = $wincli['dirs']['logosthumbs'].basename($file);

                if($phpThumb->GenerateThumbnail()){
                    if($phpThumb->RenderToFile($outputfile)){
                        echo "OK \n";
                    }else{
                        echo "Falhou (Ao guardar no ficheiro)\n";
                    }
                }else{
                    echo "Falhou (Ao gerar miniatura)\n";
                }
            }else{
                echo "Falhou (Ficheiro inexistente?)\n";
            }
        }
    }

我在Strato服务器上遇到了问题,使它工作的原因是以下几行:

$phpThumb->setParameter('config_allow_src_above_docroot', true);

我在Strato服务器上遇到了问题,使它工作的原因是以下几行:

$phpThumb->setParameter('config_allow_src_above_docroot', true);

非常快+1和正确的Anwser,谢谢;)盖什-多么愚蠢的错误。有时甚至我自己也会感到惊讶:首先,我尝试了你的代码,但它在“$phpThumb->generatethumbail()”函数上出现了错误:我编辑了我的问题,让你看看代码。感谢您的帮助,如果函数返回false。。。“如果($phpThumb->generatethumbail()){”我如何调试错误?:s我必须加载反配置文件吗?您可以从phpThumb.print\r($phpThumb->debugmessages)和print\r($phpThumb->fatalerror)访问调试消息;非常快!;)+1并更正Anwser,谢谢;)Ghesh-这是一个多么愚蠢的错误。有时我甚至自己都会感到惊讶:p thnks for the point outHi,我尝试过你的代码,但它在“$phpThumb->generatethumbail()”函数上出现错误:我编辑了我的问题,让你看看代码。感谢你的帮助,如果,该函数返回false…”($phpThumb->generatethumbail()){“我如何调试错误?:s我必须加载反配置文件吗?您可以从phpThumb.print\r($phpThumb->debugmessages)和print\r($phpThumb->fatalerror)访问调试消息;