美好的一天。
我有这个问题,我需要下载很多图像,我有可能使用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
更好?或者其他什么?
提前感谢。
答案 0 :(得分:1)
Ampersand和其他字符在shell语法中有特殊含义。如果你真的无法使用PHP's built-in cURL library,那么在将它们添加到命令之前至少应该escape the shell options。