Ich habe ein Problem beim Senden von Daten aus einer Tabelle in eine CSV-Datei.Spezifisches Array in CSV-Datei
Ich muss die Daten an eine CSV-Datei senden, so dass die Verknüpfungen nicht erneut auftreten. Leider weiß ich nicht, wie man Link für Link (ich arbeite in einer foreach-Schleife), um jeden dieser Links zu extrahieren und senden Sie es an CSV, und zur gleichen Zeit überprüfen, dass bereits nicht angezeigt.
Dies ist mein Code:
require('simple/simple_html_dom.php');
$xml = simplexml_load_file('https://www.gutscheinpony.de/sitemap.xml');
$fp = fopen('Links2.csv', 'w');
set_time_limit(0);
$links=[];
foreach ($xml->url as $link_url)
{
$url = $link_url->loc;
$data=file_get_html($url);
$data = strip_tags($data,"<a>");
$d = preg_split("/<\/a>/",$data);
foreach ($d as $k=>$u){
if(strpos($u, "<a href=") !== FALSE){
$u = preg_replace("/.*<a\s+href=\"/sm","",$u);
$u = preg_replace("/\".*/","",$u);
if (strpos($u, "http") !== FALSE) {
$ch = curl_init($u);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if(strpos($u, "https://www.gutscheinpony.de/") !== FALSE)
$u = substr($u, 28);
if($u == "/")
$u = $url;
}
$links[$u] = $http_code;
$wynik = array(array($u, $url , $http_code));
foreach ($wynik as $fields) {
fputcsv($fp, $fields);
}
}
}
}
curl_close($ch);
fclose($fp);
echo 'Send to CSV file successfully completed ... ';
ich jeden Link von .xml erhalten müssen, Download-Links, die auf der gleichen Seite und den HTTP-Status angeben. Dieser Teil habe ich gemacht. Ich kann nicht nur einen geeigneten Weg finden, Daten an eine CSV-Datei zu senden.
Ich zähle auf Ihre Hilfe.
Versuchen Sie, ein Array() aus '$ wynik = array (array())' zu entfernen, bevor Sie fputscsv verwenden. also nur einmal $ wynik = array() 'gegeben – JustOnUnderMillions
Können Sie nicht einfach die fputcsv() foreach-Schleife nach der Link Processing Loop, d. $ wynik wird natürlich größer werden, also vorausgesetzt, Sie haben die Erinnerung dafür. Machen Sie es auch zu einem assoziativen Array mit $ url als Schlüssel. Auf diese Weise wird jeder $ url Wert nur einmal geschrieben. –