чтение изображения на iphone, отправленного сценарием php - PullRequest
0 голосов
/ 01 июня 2011

РЕДАКТИРОВАТЬ переформулированный вопрос:

Я загружаю изображение с сервера на свой iphone следующим образом.

NSURL *url = [NSURL urlWithString:@"http://www.example.de/getImage.php"];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
UIImage *im = [UIImage imageWithData:data];
imageView.image = im;

скрипт php заканчивается строкой

$image = file_get_contents($direction);
echo $image;

здесь все работает. Я раскрываю образ. Теперь я хотел получить два объекта сервера и попытался слегка изменить скрипт:

echo array(0=>$image , 1=> $intValue);

Я пытался читать эти данные часами и не получил результата. почему это не работает?

NSArray *arr = [[NSArray alloc] initWithContentsOfURL:url];
UIImage *im = [UIImage imageWithData:[arr objectAtIndex:0]];

во время отладки я использовал NSLog, чтобы получить описание изображения, и оно (null).

Нет опечатки, ошибки компиляции или синтаксиса ...

EDIT001: Хорошо, я получил это сейчас, возможно, немного излишне, но, по моему мнению, способ, которым я пытался, невозможен. я снова использовал json_encode и base64_encode так:

echo json_encode(array('a'=>base64_encode($image), 'b'=>$anotherObject));

на стороне iphone я использовал некоторые фреймворки, чтобы снова декодировать JSON и base64, и это работает ... спасибо, и если у вас есть вопросы по этому вопросу, запишите их

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

$ image = file_get_contents ('$ direction'); echo $ image;

Если это ваш буквальный PHP-код, вы должны получить сообщение об ошибке: «$ direction» - это литерал строка «$ direction». Я не могу представить, что у вас действительно есть файл, который называется $ direction. Не должно быть необходимости помещать переменную в кавычки:

echo file_get_contents( $direction );
0 голосов
/ 01 июня 2011

На странице справки по PHP для 'json_encode':

Может быть любого типа, кроме ресурса. Эта функция работает только с UTF-8 закодированные данные

Возможно, отправьте изображение в виде отдельного http-запроса на получение, чтобы вам не нужно было беспокоиться о кодировании / разборе json данных изображения.

...