![]() |
cURL hämta url från textfil ?
Hej
Behöver hjälp med detta script. Scriptet nedan fungerar men det jag vill är att ha alla url i en text fil i stället för att ha de inskrivna i scriptet. Den textfil jag har är alla url på varsin rad. http://www.test1.se http://www.test2.se http://www.test3.se http://www.test4.se http://www.test5.se -------------------------------------- <?php set_time_limit(10000); $urls = Array( 'http://www.test1.se/', 'http://www.test2.se/', 'http://www.test3.se/', 'http://www.test4.se/', 'http://www.test5.se/' ); foreach ($urls as $url) { $artid = substr("$url", 36, 6); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $file = curl_exec ($ch); file_put_contents("spec/$artid.htm",$file,LOCK_EX); curl_close ($ch); } echo $file; ?> |
Jag har kommit så här långt men det fungerar ej.
<?php set_time_limit(10000); $list = file_get_contents("listan.txt"); $urls = explode("\n",$list); foreach($urls as $url) { $artid = substr("$url", 36, 6); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $file = curl_exec ($ch); file_put_contents("$artid.htm",$file,LOCK_EX); curl_close ($ch); } echo $file; ?> |
testa att lägga till:
$info = curl_getinfo($ch); print_r($info); efter curl_exec, och se vad som finns där, kanske något du är behjälpt av. och/eller: $log = fopen('curl_log.txt', 'w+'); curl_setopt($ch, CURLOPT_STDERR, $log); före curl_exec |
Vad får du för output av endast följande?
PHP-kod:
|
Jag får detta.
array(2) { [0]=> string(106) "http://www.test1.se " [1]=> string(105) "http://www.test2.se" } |
Om du sitter på Windows vill du nog köra "\r\n" som delimiter istället.
Citat:
|
Jag kör wamp server på windows.
|
Testa file('url'), läser in en url som en array med ett element för varje rad.
Edit: Lägg till konstanterna FILE_IGNORE_NEW_LINES och FILE_SKIP_EMPTY_LINES så blir det lättare att hantera resultatet. |
Fick igång det "\r\n" skulle det vara.
|
Testa med konstanten "PHP_EOL".
Den anpassar sig från system till system. |
Alla tider är GMT +2. Klockan är nu 04:15. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson