ОБНОВЛЕНИЕ И РЕШЕНИЕ : Каждый, кто бы ни столкнулся с этой проблемой в будущем, я придумал, как ее решить. Если вы используете класс PHPThumb, вы ДОЛЖНЫ импортировать настройки из файла конфигурации, так как иначе это не будет сделано. Я обнаружил это, открыв файл тестирования, который дал Клинт. Для этого вставьте этот код после определения объекта:
if (include_once($PATH . 'phpThumb.config.php')) {
foreach ($PHPTHUMB_CONFIG as $key => $value) {
$keyname = 'config_'.$key;
$phpThumb->setParameter($keyname, $value);
}
}
Спасибо людям, которые пытались помочь, и спасибо Клинту, по крайней мере, за то, что он дал мне посмотреть.
Оригинальный вопрос :
Прежде чем я не могу прочитать это сообщение из-за моей вновь обретенной слепоты, мне нужна помощь с чем-то. И прежде чем идти дальше, я должен предупредить вас, что я должен дать ссылку на другие сайты, чтобы показать вам проблемы. Так что приготовьтесь открыть несколько вкладок.
Так что я использую PHPthumb для генерации изображений для сайта моей галереи. На самом деле все шло очень хорошо, пока я не загрузил сценарий, чтобы мой деловой партнер мог начать показывать им (клиентам) альфа-стадию сценария (я знаю, что это говорит о бета-версии).
http://speakwire.net/excitebeta2/?m=2
Проблема становится очень очевидной на двух страницах галереи, на которые я случайно натолкнулся. Изображения не создаются вообще. Если вы заходите в панель администратора, они, кажется, работают, но это всего лишь кеш, сгенерированный с моего рабочего стола. Я тщательно останавливался на каждом шагу и даже пытался манипулировать кодом класса. Я искал другие сценарии, но они не помогли мне, потому что у них не было того, что мне было нужно. Поскольку код проприетарный, я не могу им поделиться. Могу поспорить, что вы думаете: «О мой бог фарс», но вот кое-что, на что вы можете посмотреть - потому что я могу повторить ту же проблему с кодом, который я получил раньше.
http://speakwire.net/phpthumbtest/
Второй сайт имеет ТОЧНУЮ структуру и код, такие как:
http://mrphp.com.au/code/image-cache-using-phpthumb-and-modrewrite
Несколько исключений допускают параметры 100x100, но они должны быть изменены, и я знаю, что это не является причиной ошибки, потому что само ее существование является необязательным, и удаление его позволяет людям только делать непослушные вещи. Второе - это то, что я сделал только после того, как ошибка сохранилась, и это было chmod(dirname($path), 0777);
, потому что по какой-то странной причине mkdir не дает папке 777
разрешения.
Старое изображение: http://speakwire.net/phpthumbtest/images/flowerupright.JPG
Новое изображение: http://speakwire.net/phpthumbtest/thumbs/100x100/images/flowerupright.JPG
Как видно на новом изображении, он не может записать файл. Это случается по вине PHPThumb. Будь то отсутствие указанных параметров или хостинг не позволяет.
Что подводит меня к сути, скрипт отлично работает на моем настольном WAMP, но не работает, когда на хостинге GoDaddy. Мой бизнес-партнер собирается открыть учетную запись на хостинге, на котором мы планируем разместить людей в ближайшее время, но проблема все еще существует, и если это происходит здесь, это наверняка может произойти и там. Несмотря на то, что это не будет на серверах GoDaddy позже.
Конкретное место, где он терпит неудачу, я вставлю сюда, а остальное вам нужно открыть на сайте mrphp.com.au, чтобы увидеть. Это способ долго размещать здесь.
require('../phpthumb/phpthumb.class.php');
$phpThumb = new phpThumb();
$phpThumb->setSourceFilename($image);
$phpThumb->setParameter('w',$width);
$phpThumb->setParameter('h',$height);
$phpThumb->setParameter('f',substr($thumb,-3,3)); // set the output format
//$phpThumb->setParameter('far','C'); // scale outside
//$phpThumb->setParameter('bg','FFFFFF'); // scale outside
if (!$phpThumb->GenerateThumbnail()) { // RETURNS FALSE FOR SOME REASON
error('cannot generate thumbnail'); // And is called due to fail.
}
Я бы очень долго любил вас, кто бы мне в этом не помог, потому что в последние несколько дней я тратил практически все свое свободное время, включая время на сон, пытаясь понять это.
РЕДАКТИРОВАТЬ: http://speakwire.net/phpthumbtest/index2.php
Я добавил это как предложение Клинта, кажется, что imagemagick не работает, может ли это быть проблемой, и как бы я это исправить?