2011-06-01 10 views
-2

EDIT重写的问题:阅读在PHP脚本发送的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); 

我想现在就阅读该数据几个小时,鸵鸟政策得到的结果。 为什么doesn't这个尝试?:工作

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

在调试时,我用的NSLog来获得图像的描述,它是(空)。

没有错字或编译或语法错误......

EDIT001: 好,我知道了,现在也许有点矫枉过正,但我​​试过的方式是不可能在我看来。 我再次使用json_encode和BASE64_ENCODE这样的:

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

在iphone端我使用了一些框架,再解码JSON和Base64和它的作品... 谢谢你,如果你有关于这个问题,把它们写下来

+0

也许是一个错字,但'* UIImage的IM = [[UIImage的imageWithData:[ARR objectAtIndex:0];'有三个'['但只一个']' – horatio 2011-06-01 15:05:04

+0

sry ...进入快速。 everthing编译完美,它运行...但图像不能被读取... – 2011-06-01 15:11:22

+0

file_get_contents('$ direction');不可能是正确的。应该是(“$方向”)或只是($方向)。 – Flipper 2011-06-01 15:12:37

回答

0

从“json_encode” PHP手册页:

Can be any type except a resource. This function only works with UTF-8 encoded data

或许将图像作为一个单独的HTTP GET请求,这样你就不必担心图像数据的编码/ JSON解析。

+0

我编辑了这个问题后,它没有json_encode ...现在,谢谢你的提示! – 2011-06-01 15:01:12

+0

可能一个base64编码的图像数据,所以它可以用于json_encode? – horatio 2011-06-01 15:34:23

+0

是的,我也想到了base64的东西,但是我知道iOS中并没有内置的base64解码功能。并不是说它很复杂,并且有很多用于base64解码的示例代码。从url请求中获取NSData可能很容易,并且从中加载图像,除非您真的需要将它全部放入一个请求和json响应中。 – 2011-06-01 23:28:04

0

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

如果这是你的文字的PHP代码,你应该得到一个错误:“$方向”是文字字符串“$方向”。我无法想象你真的有一个叫做$方向的文件。不应该有必要放在引号中的变量:

echo file_get_contents($direction); 
+0

是的,我已经得到了我的错字... SORRY guys !! ...但是它不会和echo $图像一起工作。重点是:第一个方案适用于回显图像,而socond不回应php数组!必须有一个错误 – 2011-06-01 15:18:26