使用wget与php下载远程脚本生成的图像

时间:2014-03-06 14:33:30

标签: php shell wget

美好的一天。

我有这个问题,我需要下载很多图像,我有可能使用wget来实现这一点,但是我遇到了一些问题。

首先,我尝试了自己:

system('wget -q http://www.google.com/images/logo_sm.gif -O test2.gif');
好的,它有效,我可以做到...... 所以,我更改了参数,将真实的URL和子目录放在哪里保存:

system('wget -q -nH '.$row['foto'].' -O ./img/'.$row['modello'].'.jpg');

已在以下位置解析:

wget -q -nH http://server.com/main.php?action=exec&task=show_image&task_arg=23456&m=not&ft=product_full_image_1&auth=d84a122342332ff2d1dssssff06d0199 -O ./img/0561142.jpg

这次我得到了一个令人讨厌的结果,类似于一个名为main.php的数千个11字节文件?action = exec ###已在脚本的同一目录中创建(注意###是一个3位数字)。

我明白有些问题......可能是url参数?也许是子目录?我在弄什么?是system神的选择?或者exec更好?或者其他什么?

提前感谢。

1 个答案:

答案 0 :(得分:1)

Ampersand和其他字符在shell语法中有特殊含义。如果你真的无法使用PHP's built-in cURL library,那么在将它们添加到命令之前至少应该escape the shell options