在项目的中间,我试图用php下载一些图像。
我使用简单的html dom。
这里的例子是:
function scaper_allegati_fo($url,$id_imm)
{
$html_fo_p=file_get_html($url);
$pagine = $html_fo_p->find('span[class=sTotAlleg]',0)->plaintext;
$goodUrl = str_replace('&pos=1', '', $url);
for($i = 1; $i < $pagine; $i++)
{
$newurl = $goodUrl."&pos=".$i;
$html_fo=file_get_html($newurl);
$img_link = $html_fo->find('img[class=imgBckWait]',0)->src;
$download = file_get_contents("$img_link");
$estensione = ".jpg";
$nome_tmp = $id_imm."_FO_";
$random = random_str(10);
$nome = $nome_tmp.$random;
file_put_contents('/var/www/html/allegati/'.$nome.$estensione, $download);
}
问题在于:
我试图下载的链接是这样的:
https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg&nfcod=6d2ecb3f5615ee1024672dc8b6a80e52&s=FO
下载的文件只有26byte,包含一个错误来自网站的字符串,相当于&#34;解码错误&#34;。 当网址从他的论点中删除时会发生这种情况。
我尝试使用curl,已经创建的curl类(https://github.com/php-curl-class/php-curl-class)和函数副本。
每次都像我得到链接&#34; cut&#34;与之相关的论点。
示例:而不是https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg&nfcod=6d2ecb3f5615ee1024672dc8b6a80e52&s=FO
你继续
https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg
如果我尝试手动使用file_get_contents,只需使用链接就可以了!
我试着回应我正在抓的链接,他们非常顺利。 我尝试回复链接,图片显示出来。
但是每当我尝试使用我的代码下载时,我都会得到一个空文件。
是因为某个地方$ img_link从他的论点中得到了清理吗?
任何人都知道我可以尝试一下这个吗?