datenaustausch zw. server

quidnovi

Erfahrenes Mitglied
Hi Proggerwelt!

Habe im Forum gesucht, aber nix wirklich weiterhelfendes gefunden (sollte ich etwas überlesen haben, so seht es mir bitte nach.). Dergooglt hab' ich auch nichts.

Muss .csv Inhalt auf Fremdserver schicken. Das .csv file wird aus einem php Script heraus erstellt.

Habe mich auf php.net umgeschaut und eine Möglichkeit eines FTP Transfers gefunden. Funktioniert, setzt aber die Kenntnis des Usernamens und des Passwortes voraus - das ich nicht habe (logisch bei einem Fremdserver).

Bin mit meinen PHP Kenntnissen leider am Ende, daher bitte ich um Hilfe, welche Möglichkeiten ich habe, dies zu bewerkstelligen. Habe nur die absolute Url des Fremdservers http://www.domain.at/ordner/ordner/file.asp.

Mit $file = fopen("http://www.domain.at/ordner/ordner/file.asp", "w"); funktioniert es nicht.

Kann mir bitte jemand weiterhelfen?
thx
quidnovi
 
Du kannst nicht Dateien auf Fremden Servern speichern, wenn du keinen Login hast, bsw. es keine offene Schnittstelle (z.B. Upload Formular) gibt, um auf den Server zu kommen
 
jo, für meine Begriffe ist:

http://www.domain.at/ordner/ordner/file.asp

das Uploadfile.

Es tut sich aber noch ein Problem auf. Zur Erklärung:

Login auf Fremdserver, Link auf meinen Webspace mit Berechnungstool, Übergabe der berechneten Parameter über dieses file.asp zurück an den Fremdserver.

Das Ganze muß natürlich über eine SessionID eindeutig gehalten werden.

Angesprochen auf die SessionID teilte mir der asp Mensch mit, seine cid abzufragen.
Habe davon aber leider keine Ahnung, denn ich verwende die Scriptsprache PHP.

Hat jemand von Euch eine Ahnung wie man zu dieser cid überhaupt kommt? Müßte asp diese cid nicht an ein PHP Script übergeben? Sollte doch funktionieren, oder?

Bitte um Hilfe
Danke
 
Wenn ich das Recht verstehe sprichst du eine Schnittstelle
auf einem Fremdserver an der du dann per POST Daten übermitteln
willst, oder?

Bzw. was bezweckst du mit dem Senden deiner .csv Datei an
den Fremdserver. Das würde helfen.
 
ja, genau.
In der .csv Datei sind die gesammelten Parameter für eine Bestellung, die dann dem asp Warenkorb übergeben werden.

PHP:
$file = fopen ("http://www.domain.at/ordner/ordner/file.asp", "w");
$spalten = array("m_PID = " . " " .$anl_1_klemmhalter_pid, $bodenfuehrung_pid,                                                                                      $laufschiene_schiebe_pid);
                
if ($glasdicketuer == 10)
{
$spalten[] = $rollenwagen_10_schiebe_pid;
}
else
{
$spalten[] = $rollenwagen_12_schiebe_pid;
}
if ($griffstange_1)
{
$spalten[] = $griffstangenpaar_nr_1_pid;
}
if ($griffstange_2)
{
$spalten[] = $griffstangenpaar_nr_2_pid;
}
if ($griffstange_3)
{
$spalten[] = $griffstangenpaar_nr_3_pid;
}

fputs($file, implode(";", $spalten)."\n");

...
                          
fputs($file, implode(";", $eintrag)."\n");
echo "Ausgabe in Datei geschrieben";
fclose($file);

Im Grunde genommen handelt es sich gar nicht um eine csv Datei. Aber an dieses asp Script muß ich dies übergeben.

Hoffe es ist damit was anzufangen.
 
Wieso speichert dein Kunde die Warenkorbzusammenstellung nicht auf seinem Server
und in asp

Nagut ab vom Sinn und Zweck ist dein Problem verhältnissmäßig einfach
zu lösen. Was du machen musst ist :

Deine Daten ins CSV Format packen und in eine Variable hauen.
Diese für POST aufbereiten.
Eine Verbindung zu dem Warenkorb herstellen.
Den POST Befehl an den Warenkorb absetzten.

Amen.

Beispielfunktion aus den Kommentaren von PHP.net.

Quelle : http://de3.php.net/manual/sv/function.fsockopen.php
PHP:
function post($host,$query,$others=''){
   $path=explode('/',$host);
   $host=$path[0];
   unset($path[0]);
   $path='/'.(implode('/',$path));
   $post="POST $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n${others}User-Agent: Mozilla 4.0\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n$query";
   $h=fsockopen($host,80);
   fwrite($h,$post);
   for($a=0,$r='';!$a;){
       $b=fread($h,8192);
       $r.=$b;
       $a=(($b=='')?1:0);
   }
   fclose($h);
   return $r;
}
 
wow, vielen Dank für die Antwort - ging ja echt schnell!

Wieso speichert dein Kunde die Warenkorbzusammenstellung nicht auf seinem Server

Tja, die Begründung liegt vielleicht im "beleidigt sein" (dass er es nicht auf die Reihe kriegt, wage ich nicht zu behaupten). An und für sich sollte der ASP Mensch das Ganze machen,
aber der Auftraggeber hat mit mir gesprochen, nicht mit ihm.

Werde mich nun mit dem "Zeugs" auseinandersetzten. Das mit der Eindeutigkeit wird ja sicherlich auch behandelt.

Vielen Dank nochmal
 
Zuletzt bearbeitet:
Zurück