PHP проверяет вывод функции - PullRequest
0 голосов
/ 04 июля 2011

У меня есть базовая функция для изменения размера изображения, приведенная ниже:

function resize() {

.....
...
..

imagejpeg($image_new,$img_path,80);

imagedestroy($image_old);
imagedestroy($image_new);
}

Мне нужно вызвать его в другой функции и посмотреть его вывод. Как я могу это сделать? Я хочу что-то вроде:

function test(){
//calling resize function
if (resize() === true){ 
    echo "Success";
    } else {
    echo "resized failed"; 
    }
}

Что я не понимаю, так это то, что функция изменения размера просто создает изображение и удаляет старые файлы изображений. Как он вернет вывод, что он был успешным или нет? Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 июля 2011

imagejpeg() возвращает логическое значение FALSE при ошибке (в соответствии с API ; соберите его возврат и используйте его в качестве возврата вашей функции resize():

function resize () {
  ...
  $success = imagejpeg($image_new, $img_path, 80);
  ...
  return $success
}

Кроме того, вы, вероятно, должны передать изображение как параметр resize() ... похоже, у вас есть несколько глобальных переменных, что не хорошо (1) практика (2)

0 голосов
/ 04 июля 2011

Как написано, ваша resize функция не возвращает информацию о том, успешно она или нет, и, кроме того, она всегда уничтожает оба изображения (два вызова imagedestroy). Вам нужно будет переписать функцию, чтобы учесть коды возврата от imagedestroy и imagejpeg. Документация для последнего указывает, что эта функция будет возвращать логическое значение, указывающее, было ли оно успешным или нет.

...