WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   cURL hämta url från textfil ? (https://www.wn.se/forum/showthread.php?t=1046561)

it-shoppen 2011-02-16 09:55

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;


?>

it-shoppen 2011-02-16 09:58

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;


?>

andi 2011-02-16 11:07

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

iostream 2011-02-16 11:15

Vad får du för output av endast följande?

PHP-kod:

<?php
$list 
file_get_contents("listan.txt");
$urls explode("\n",$list);
var_dump$urls );


it-shoppen 2011-02-16 11:23

Jag får detta.


array(2) { [0]=> string(106) "http://www.test1.se " [1]=> string(105) "http://www.test2.se" }

iostream 2011-02-16 11:29

Om du sitter på Windows vill du nog köra "\r\n" som delimiter istället.

Citat:

Ursprungligen postat av it-shoppen (Inlägg 20393205)
Jag har kommit så här långt men det fungerar ej.

Exakt vad betyder detta? Får du några felmeddelanden? Dra igång felrapportering om det är av.

it-shoppen 2011-02-16 11:31

Jag kör wamp server på windows.

Magnus_A 2011-02-16 11:34

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.

it-shoppen 2011-02-16 11:34

Fick igång det "\r\n" skulle det vara.

hnn 2011-02-16 13:24

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