CSV Datei vom externen link öffnen

Jörg Loos

Grünschnabel
Hallo

Ich habe ein Plugin für mein shop gebastelt das die funktion hat eine csv datei auszulesen und zu Importieren. Nun möchte ich aber das daß script eine csv vom externen link/Server hohlt und importiert. wie mache ich das am besten****

Hier der code

PHP:
<?php
error_reporting(E_ALL);
ini_set("display_errors",1);
set_time_limit(1000);
ini_set('memory_limit','512M');
 
 
require_once('../../api.php');
$api = new sAPI();
 
#if ($_REQUEST["sAPI"]!=$api->sSystem->sCONFIG["sAPI"])
	#exit;

$import =& $api->import->shopware;
$csv =& $api->convert->csv;
$mapping =& $api->convert->mapping;
$csv->sSettings['separator'] = ";";	// Feld-Trennzeichen in der CSV-Datei
$data_path = $api->load("file://".$api->sPath."/engine/connectors/api/sample/csv/instock.csv");
$articles = $api->convert->csv->decode($data_path);
$mappingmask = array("ordernumber","instock");
$mappingmask = $mapping->prepare_mask ($mappingmask);
 
 
foreach ($articles as $article)
{
	$result = $import->sArticleStock(array(
		"ordernumber"=>$article["ordernumber"],
		"instock"=>$article["instock"]
	));
}
unset($articles,$article);
?>

geht das mit fopen****?

lg
 
Das Importieren (also das Kopieren deer Datei auf dn Server) hast du ja bereits.
Du willst die Daten in eine DB schreiben?

Dann kannst du auf die importierte Datei mittels fopen() und fgetcsv() die Daten auslesen und daraus ein INSERT-Sql schreiben

Oder du lädst das CSV direkt über SQL in die DB laden. Steusi hat gerade vor kurzem ein Tutorial dazu veröffentliche
Erstellen: MySQL Dateieinlesung Bearbeiten
 
Hi

danke erstmal für dein rat :).

aber heißt das ich kann
PHP:
$data_path = $api->load("file://".$api->sPath."/engine/connectors/api/sample/csv/instock.csv");

in

PHP:
$data_path = fopen()("http://".$api->sPath."path/..../..../instock.csv");

ersetzen.

bin noch ein kleiner php programmierer, deswegen brauch ich da bischen hilfe...
 
Ich kenne deine $api nicht.

Laut Doku kannst du auf eine http-Protokleierte Datei zugreifen. Ist die Datei aber bereits im gleichen Verzeichnissystem wie deine PHP-Script ablaufen, dann kannst du auch mit einem relativen Pfad arbeiten.

Ist da bei deiner code-Zeile die Datei bereits auf den Server kopiert?

Und fopen() gibt keinen Pfad zurück. Ergo ist der Name $data_path etwas verwirrend.....
 
Die funktion von dem Plugin wird über den browser gestartet via url path. bei dem aufruf importiert das plugin den artikel bestand direkt in die sql datei.

der ganze code ist eine vorgabe von dem shop anbieter. Ich möchte nur gerne den pfad zu der csv datei die beispielsweise auf meinem server liegt umwandeln das dieses plugin eine csv datei auf einem externen server meines großhändlers importiert. mit den code habe ich es leider nicht so und deswegen wende ich mich hier an dieses forum. ich hatte immer nur bruch teile von der shop community bekommen wie man es machen könnte aber ich komm nicht ganz damit klar.

Im Ganzen müsste nur der pfad zur externen csv datei erstellt werden aber wie gesagt ich weiß nicht wie. den rest des codes sollte stehen bleiben sonst funktioniert es nicht.

hier mal das ganze des shopsystems im überblick. da sind kleine beispiele gezeigt http://wiki.shopware.de/Beispiele_detail_229.html
 
Zuletzt bearbeitet:
Zurück