2012-08-24 109 views
0

我现在有这样的代码:在foreach循环和写入文件

$json = file_get_contents('http://openstates.org/api/v1/legislators/?active=true&state=fl&&chamber=upper&apikey=ba09e678541e4b6ea28348c4517a6d50'); 
$obj = json_decode($json); 


foreach($obj as $index => $user) 
    echo $user->photo_url; 

在呼应名单的伟大工程。我想做什么而不是回应信息,我可能会采取链接并下载图像文件?

或者,而不是回显将名称保存到一个大文件列表?

过去两天我一直在尝试各种各样的东西。任何帮助将不胜感激。

+4

- 好吧,你有什么尝试? –

回答

1

你必须尝试一些。如果你想下载你可以使用的网址file_put_contents('image_name', file_get_contents($user->photo_url))

或者你可以打开一个文件并写下所有的名字。只需输入“在php中写入文件”将会给你关于file_put_contentsfopen的php文档。我们可以使用fopen打开一个文件用于ewriting,并写入使用fwrite

+0

,因为有超过100个文件,我怎么能用这些数据来做到这一点?像使用变量? – dianeinflorida

+0

您可以使用一个变量作为文件名的一部分。 ''image_name = sprintf('image-%03d',$ user-> id);'应该给你一个以''image-''开始的名字,然后用户ID填零至少为三位数。 – Arjan

+0

使用dm和Arjan的示例将变量名称设置为$ user-> id。非常感谢你的工作! – dianeinflorida

1
+0

这只会一次只做一个。我希望找到一个解决方案,让我写一个单一的。我是PHP的新手,我真的很挣扎。 – dianeinflorida

+0

@dianeinflorida我不明白你想说什么......你是说你想将多个图像文件保存到一个文件?因为它不可能... – ExtremelyPoorMan

+0

我想保存所有的图像到他们自己的文件。 – dianeinflorida

0

什么有关文件:“我一直在尝试各种东西的过去的2天”的

foreach($obj as $index => $user) 
    exec("wget $user->photo_url -O $path_to_local_image");