2011-12-28 1 views
0

Я использую удаленный метод, используемый в jQuery Validation.PHP, если изображение превышает 1000px с использованием getimagesize()

Я имею в виду файл PHP показано ниже:

<?php 

$title = mysql_real_escape_string($right_form_url); 
$size = getimagesize($title); 
$size[3] = $width; 

if ($width > 1000) { 
    $output = false; 
} else { 
    $output = true; 
} 
echo json_encode($output); 

?> 

Он никогда ничего не возвращает, независимо от того, как я поставил $output переменные. Я пробовал другие файлы PHP, которые, как я знаю, работают в валидации, поэтому я думаю, что это имеет какое-то отношение к моей инструкции IF, хотя я уверен, что ширина объявляется правильно.

+0

Включены ли вы сообщения об ошибках? Вы делаете какую-либо отладку? Например, что содержит '$ right_form_url'? –

+0

Ваша ссылка не работает. –

+1

- это опечатка или вы задаете пустую переменную '$ width' для' $ size [3] '? – arma

ответ

1

Недопустимый код. Вы настраиваете $size[3] = $width;, которые sould быть $width = $size[0]; Две ошибки: 1. Вы настраивали $size[3] к $width, но следует установить $width к $size[3] 2. $size[3] containts строка Валу использовать т с тегом HTML изображения (высота = «YYY» ширина =» xxx "), $size[0] Конатины числовое значение ширины

+0

Это не работает :( –

+0

Попробуйте '$ output = array (" result "=> true)' и '$ output = array (" result "=> false)'. И если все еще не работает, сделайте php-скрипт с только 'json_endode (true)' или 'json_encode (array (" result "=> true)) Возможно, это не работает. – Kristian

+0

Если вы посмотрите на комментарии из исходного сообщения, это было из-за функции' mysql_escape_string'. чем это, '$ size [0]' был вашим ответом, поэтому я выберу ваш. –

0

Я думаю, что я знаю вашу проблему, здесь, то json_enconde функция поддерживает только данные с UTF-8 кодировкой, а затем, если ваш сайт использует другую кодировку, то функция вернет NULL, поэтому попробуйте это:

<?php 

$title = mysql_real_escape_string($right_form_url); 
$size = getimagesize($title); 
$size[3] = $width; 

$output = true;  
if ($width > 1000) { 
    $output = false; 
} 
echo json_encode(base64_encode($output)); 

?>