Hallo zusammen
ich habe die folgende Tabelle "links"
und die Tabelle "code"
Nun ist es das Ziel, die Links aus der Tabelle "links" mit cURL auszulesen und den HTML code in die Tabelle "code" einzutragen.
Hier mein Code:
Nun funktioniert das leider nicht. Das Problem liegt wahrscheinlich dabei das bei der Variablen-Übergabe aus $row["link"]; er keinen Wert erhält und somit $code leer ist.
Denn wenn ich die Seite z.B: google.de direkt als URL Variable $url setze funktioniert es. Muss die Variable aus dem mySQL-Fetch irgendwie umgewandelt werden?
So funktioniert es
Weiss einer Rat oder eine Möglichkeit dies anderst zu machen? Es darf dabei nicht fopen benutzt werden, da der Header und der Ref mitgegeben werden müssen (die Seiten Google und Yahoo sind Beispiele).
ich habe die folgende Tabelle "links"
Code:
id | link ========= 1 | http://www.google.de 2 | http://www.yahoo.de
Code:
id | link | code ================
Hier mein Code:
PHP-Code:
<?php
mysql_connect("localhost", "root", "") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db("job") or die ("Die Datenbank existiert nicht.");
$ergebnis = mysql_query("SELECT * FROM links") OR die("Error: $abfrage <br>".mysql_error());
while ($row = mysql_fetch_assoc($ergebnis)) {
$url = $row["link"];
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, '$url');
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.6 (KHTML, like Gecko) Chrome/16.0.897.0 Safari/535.6');
curl_setopt ($ch, CURLOPT_REFERER, 'http://www.google.de');
ob_start();
curl_exec($ch);
curl_close($ch);
$str = ob_get_contents();
ob_end_clean();
$code = mysql_real_escape_string($str);
mysql_query("INSERT INTO code (link, code) VALUES ('$url', '$code')");
}
?>
Denn wenn ich die Seite z.B: google.de direkt als URL Variable $url setze funktioniert es. Muss die Variable aus dem mySQL-Fetch irgendwie umgewandelt werden?
So funktioniert es
PHP-Code:
<?php
mysql_connect("localhost", "root", "") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db("job") or die ("Die Datenbank existiert nicht.");
$ergebnis = mysql_query("SELECT * FROM links") OR die("Error: $abfrage <br>".mysql_error());
while ($row = mysql_fetch_assoc($ergebnis)) {
$url = "http://www.google.de";
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, '$url');
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.6 (KHTML, like Gecko) Chrome/16.0.897.0 Safari/535.6');
curl_setopt ($ch, CURLOPT_REFERER, 'http://www.google.de');
ob_start();
curl_exec($ch);
curl_close($ch);
$str = ob_get_contents();
ob_end_clean();
$code = mysql_real_escape_string($str);
mysql_query("INSERT INTO code (link, code) VALUES ('$url', '$code')");
}
?>
Kommentar