Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3515 > unrolled thread
| Started by | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| First post | 2015-11-08 17:20 +0100 |
| Last post | 2015-11-11 17:16 +0100 |
| Articles | 13 — 5 participants |
Back to article view | Back to de.comp.lang.php
Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-08 17:20 +0100
Re: Datei Upload k@rl.pflaesterer.de (Karl Pflästerer) - 2015-11-08 19:30 +0100
Re: Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-08 23:25 +0100
Re: Datei Upload k@rl.pflaesterer.de (Karl Pflästerer) - 2015-11-09 06:51 +0100
Re: Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-09 08:05 +0100
Re: Datei Upload k@rl.pflaesterer.de (Karl Pflästerer) - 2015-11-09 08:33 +0100
Re: Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-09 17:31 +0100
Re: Datei Upload Torsten Zuehlsdorff <foo@meisterderspiele.de> - 2015-11-11 09:37 +0100
Re: Datei Upload Arno Welzel <usenet@arnowelzel.de> - 2015-11-09 17:48 +0100
Re: Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-10 00:01 +0100
Re: Datei Upload Arno Welzel <usenet@arnowelzel.de> - 2015-11-10 11:25 +0100
Re: Datei Upload Matthias P. Würfl <matthias@wuerfl.com> - 2015-11-11 00:17 -0800
Re: Datei Upload Thomas Meyer <ich.will@keine.mail> - 2015-11-11 17:16 +0100
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-08 17:20 +0100 |
| Subject | Datei Upload |
| Message-ID | <5wx1rfi27tgq$.1mz1ih1uqtbxl.dlg@40tude.net> |
Hallo,
folgende Situation:
Es gilt eine CSV-Datei vom lokalen Rechner auf vier unterschiedkiche Server
hochzuladen. Dazu habe ich mir unten stehende Funktion geschrieben.
Das klappt meistens bei den ersten Dervern beiden gut, bei den anderen
beiden nicht. Mitunter funktioniert es auch bei den ersten beiden schon
nicht. Interessanterweise wenn ich die Funktion ein zweites mal aufrufe.
Eine Fehlermeldung kommt nie. Die Dateigröße ist nach dem Aufruf = 0, das
Datum aber aktuell. Der Zugriff ist also möglich, nur die Dateiinhalte
kommen oben nicht an. Ich muss die Datei dann doch manuell via ftp
hochschieben.
Der Delay unten ist ein Versuch, änderte aber nichts. Ich habe bei ftp_put
auch schon den ASCII-Modus probiert, identische Wirkung. Teilweise geht es,
bei einigen nicht und ein zweiter Versuch ergab immer Dateien mit der Größe
0.
Google zeigte mir, dass das Problem bekannt sei, aber eine wirkliche Lösung
konnte ich bisher nicht finden. Gibt es hier evtl. Vorschläge oder Hinweise
wo was schief laufen kann?
(Wie man am Code wohl unschwer erkennen kann bin ich alles andere als ein
php-Kenner, aber für meinen Hausgebraucht hat alles bisher gut
funktioniert)
___________________
function csvup ($server, $benutzer, $passwort, $pfad) {
$File = 'blacklist.csv';
$conn_id = ftp_connect("$server");
$login_result = ftp_login($conn_id, "$benutzer", "$passwort");
ftp_pasv($conn_id, true);
if ((!$conn_id) || (!$login_result)) {
echo "FTP Verbindung nicht hergestellt<br>";
die;
}
else {
$Quelle = realpath("G:/Daten-Privat/Homepages/").$File;
echo $pfad;
echo "FTP Verbindung zu ".$server.$pfad." hergestellt ...<br><br>";
}
echo "Stand alte Datei: ".date("d.m.Y H:i",ftp_mdtm($conn_id,
$File))."<br>";
echo "Groesse alte Datei: ".ftp_size($conn_id, $File)."<br><br>";
// upload
if ($path) {
ftp_chdir($conn_id, $pfad);
}
$upload = ftp_put($conn_id, $Quelle, $File, FTP_BINARY);
// Uploadüberprüfung
if (!$upload) {
echo "Upload fehlgeschlagen !<br>";
} else {
echo "Stand neue Datei: ".date("d.m.Y H:i",ftp_mdtm($conn_id,
$File))."<br>";
echo "Groesse neue Datei: ".ftp_size($conn_id, $File)."<br><br>";
}
ftp_quit($conn_id);
echo "FTP Verbindung wurde geschlossen !<br>";
usleep(2000000);
}
[toc] | [next] | [standalone]
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
|---|---|
| Date | 2015-11-08 19:30 +0100 |
| Message-ID | <m1egg01gzr.fsf@mbp.pflaesterer.de> |
| In reply to | #3515 |
Thomas Meyer <ich.will@keine.mail> writes: > Hallo, > > folgende Situation: > > Es gilt eine CSV-Datei vom lokalen Rechner auf vier unterschiedkiche Server > hochzuladen. Dazu habe ich mir unten stehende Funktion geschrieben. > > Das klappt meistens bei den ersten Dervern beiden gut, bei den anderen > beiden nicht. Mitunter funktioniert es auch bei den ersten beiden schon > nicht. Interessanterweise wenn ich die Funktion ein zweites mal aufrufe. > > Eine Fehlermeldung kommt nie. Die Dateigröße ist nach dem Aufruf = 0, das > Datum aber aktuell. Der Zugriff ist also möglich, nur die Dateiinhalte > kommen oben nicht an. Ich muss die Datei dann doch manuell via ftp > hochschieben. > > Der Delay unten ist ein Versuch, änderte aber nichts. Ich habe bei ftp_put > auch schon den ASCII-Modus probiert, identische Wirkung. Teilweise geht es, > bei einigen nicht und ein zweiter Versuch ergab immer Dateien mit der Größe > 0. > > > Google zeigte mir, dass das Problem bekannt sei, aber eine wirkliche Lösung > konnte ich bisher nicht finden. Gibt es hier evtl. Vorschläge oder Hinweise > wo was schief laufen kann? > > (Wie man am Code wohl unschwer erkennen kann bin ich alles andere als ein > php-Kenner, aber für meinen Hausgebraucht hat alles bisher gut > funktioniert) > [...] Ich schlage vor, bevor du den Upload mit PHP umsetzt, ihn ganz simpel per FTP von der Kommandozeile zu testen. Dann hast du auch direkt Fehlermeldungen, wenn etwas nicht klappt. Danach kann man dir bestimmt helfen, deinen Code robust zu schreiben. KP
[toc] | [prev] | [next] | [standalone]
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-08 23:25 +0100 |
| Message-ID | <1ud0otyk5ds8p.1257obxk4c1dy.dlg@40tude.net> |
| In reply to | #3516 |
Am Sun, 08 Nov 2015 19:30:16 +0100 schrieb Karl Pflästerer: > Ich schlage vor, bevor du den Upload mit PHP umsetzt, ihn ganz simpel > per FTP von der Kommandozeile zu testen. Dann hast du auch direkt > Fehlermeldungen, wenn etwas nicht klappt. > > Danach kann man dir bestimmt helfen, deinen Code robust zu schreiben. mmh ... also per FTP kann ich beliebig wiederholen und stets erfolgreich hochladen. Per php geht es nicht, aber es erscheinen auch keine Fehlermeldungen. Die vorhandene Datei wird jeweils nur leer überschrieben unten mal die ausgegebenen Meldungen des html-files. Bei den ersten beiden ist alles ok, bei den zweiten geht es nicht. Die selbe Funktion, keine Fehlermeldung. Die alte Datei wird erkannt und hinsichtlich Datum und Größe ausgelesen und dann mit nichts überschrieben. _____ 1. FTP Verbindung zu xxx.xxx.xxx.xxx hergestellt ... Stand alte Datei: 08.11.2015 16:39 Groesse alte Datei: 5696 Stand neue Datei: 08.11.2015 23:16 Groesse neue Datei: 5696 FTP Verbindung wurde geschlossen ! 2. FTP Verbindung zu yyy.yy.yy.yy hergestellt ... Stand alte Datei: 08.11.2015 16:40 Groesse alte Datei: 5696 Stand neue Datei: 08.11.2015 23:17 Groesse neue Datei: 5696 FTP Verbindung wurde geschlossen ! 3. FTP Verbindung zu xxxxx.de hergestellt ... Stand alte Datei: 08.11.2015 16:39 Groesse alte Datei: 5696 Stand neue Datei: 08.11.2015 23:17 Groesse neue Datei: 0 FTP Verbindung wurde geschlossen ! 4. FTP Verbindung zu yyyy.de\pages hergestellt ... Stand alte Datei: 08.11.2015 16:39 Groesse alte Datei: 5696 Stand neue Datei: 08.11.2015 23:17 Groesse neue Datei: 0 FTP Verbindung wurde geschlossen !
[toc] | [prev] | [next] | [standalone]
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
|---|---|
| Date | 2015-11-09 06:51 +0100 |
| Message-ID | <m1a8qn201j.fsf@mbp.pflaesterer.de> |
| In reply to | #3517 |
Thomas Meyer <ich.will@keine.mail> writes: > Am Sun, 08 Nov 2015 19:30:16 +0100 schrieb Karl Pflästerer: > > >> Ich schlage vor, bevor du den Upload mit PHP umsetzt, ihn ganz simpel >> per FTP von der Kommandozeile zu testen. Dann hast du auch direkt >> Fehlermeldungen, wenn etwas nicht klappt. >> >> Danach kann man dir bestimmt helfen, deinen Code robust zu schreiben. > > mmh ... also per FTP kann ich beliebig wiederholen und stets erfolgreich > hochladen. Per php geht es nicht, aber es erscheinen auch keine > Fehlermeldungen. Die vorhandene Datei wird jeweils nur leer überschrieben > > unten mal die ausgegebenen Meldungen des html-files. > Bei den ersten beiden ist alles ok, bei den zweiten geht es nicht. Die > selbe Funktion, keine Fehlermeldung. Die alte Datei wird erkannt und > hinsichtlich Datum und Größe ausgelesen und dann mit nichts überschrieben. > > _____ > > 1. > FTP Verbindung zu xxx.xxx.xxx.xxx hergestellt ... > > Stand alte Datei: 08.11.2015 16:39 > Groesse alte Datei: 5696 > > Stand neue Datei: 08.11.2015 23:16 > Groesse neue Datei: 5696 > > FTP Verbindung wurde geschlossen ! > > 2. > FTP Verbindung zu yyy.yy.yy.yy hergestellt ... > > Stand alte Datei: 08.11.2015 16:40 > Groesse alte Datei: 5696 > > Stand neue Datei: 08.11.2015 23:17 > Groesse neue Datei: 5696 > > FTP Verbindung wurde geschlossen ! [...] Wenn es von der Kommandozeile klappt (wirklich Kommandozeile oder ein FTP GUI), dann kannst du per PHP starten. Du solltest nach *jedem* Befehl dessen Rückgabe auswerten. Speziell auch beim Upload zum einen die Existenz und Lesbarkeit der hochzuladenden Datei. Aber auch zuvor musst du prüfen ob zB ein Verzeichniswechsel überhaupt funktionierte. Dann musst du die Fehler sehen, wenn welche auftreten. Zufällig geschieht dort nichts. (nebenbei: FTP ist heute wirklich nicht mehr zeitgemäß; gibt es eventuell die Möglichkeit zB SCP zu nutzen?; dann könntest du mit zB rsync solche Uploads viel leichter erledigen) KP
[toc] | [prev] | [next] | [standalone]
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-09 08:05 +0100 |
| Message-ID | <6uide1ehlvvw.15hbqtlexp22t$.dlg@40tude.net> |
| In reply to | #3518 |
Am Mon, 09 Nov 2015 06:51:04 +0100 schrieb Karl Pflästerer: > Wenn es von der Kommandozeile klappt (wirklich Kommandozeile oder ein > FTP GUI), dann kannst du per PHP starten. Du solltest nach *jedem* > Befehl dessen Rückgabe auswerten. gibt es ein geeignetes Programm dafür? - Mein jetziges ist in den Editor integriert und erzeugt kein Logfile. > Speziell auch beim Upload zum einen > die Existenz und Lesbarkeit der hochzuladenden Datei. Aber auch zuvor > musst du prüfen ob zB ein Verzeichniswechsel überhaupt funktionierte. Das ist es ja, die Datei existiert und sie eist lesbar. Wenn nicht dürfte es ja für keinen Server/Domains klappen. So aber geht es bei zweien von vier aber auch nicht unbedingt im Wiederholungsfalle. > Dann musst du die Fehler sehen, wenn welche auftreten. Zufällig > geschieht dort nichts. Davon gehe ich aus. > (nebenbei: FTP ist heute wirklich nicht mehr zeitgemäß; gibt es > eventuell die Möglichkeit zB SCP zu nutzen?; dann könntest du mit zB > rsync solche Uploads viel leichter erledigen) sorry, aber ich bin da nicht so im Thema und kann entsprechend mit den Kürzeln nicht so viel anfangen. Wenn es eine einfache und effiziente Möglichkeit gäbe dieses zu tun wäre es ok. Ich ging bisher nur davon aus, dass dieses per php und ftp_put möglich sei.
[toc] | [prev] | [next] | [standalone]
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
|---|---|
| Date | 2015-11-09 08:33 +0100 |
| Message-ID | <m1611b1vb2.fsf@mbp.pflaesterer.de> |
| In reply to | #3519 |
Thomas Meyer <ich.will@keine.mail> writes: > Am Mon, 09 Nov 2015 06:51:04 +0100 schrieb Karl Pflästerer: > >> Wenn es von der Kommandozeile klappt (wirklich Kommandozeile oder ein >> FTP GUI), dann kannst du per PHP starten. Du solltest nach *jedem* >> Befehl dessen Rückgabe auswerten. > > gibt es ein geeignetes Programm dafür? - Mein jetziges ist in den Editor > integriert und erzeugt kein Logfile. Ich gehe davon aus, dass du Windows als OS nutzt? ftp heisst das Programm. Ich denke, du bist mit deinem Thema hier in einer PHP Gruppe fehl am Platz. Hier wird man dir nicht unbedingt helfen können. Was den Editor genau macht, siehst du ja nicht; es wird wohl nicht exakt das Gleiche sein, wie deine Versuche mit FTP. >> Speziell auch beim Upload zum einen >> die Existenz und Lesbarkeit der hochzuladenden Datei. Aber auch zuvor >> musst du prüfen ob zB ein Verzeichniswechsel überhaupt funktionierte. > > Das ist es ja, die Datei existiert und sie eist lesbar. Wenn nicht dürfte > es ja für keinen Server/Domains klappen. So aber geht es bei zweien von > vier aber auch nicht unbedingt im Wiederholungsfalle. Unter Windows kann dies schon file-locking sein. zB auch ein Virenscanner, der dir dazwischenfunkt. All dies hat nichts mit PHP zu tun. [...] > > sorry, aber ich bin da nicht so im Thema und kann entsprechend mit den > Kürzeln nicht so viel anfangen. Wenn es eine einfache und effiziente > Möglichkeit gäbe dieses zu tun wäre es ok. Ich ging bisher nur davon aus, > dass dieses per php und ftp_put möglich sei. Wenn du Dateien hochladen und öffentlich verfügbar machen willst, hilft es, sich mit der Terminologie anzufreunden. KP
[toc] | [prev] | [next] | [standalone]
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-09 17:31 +0100 |
| Message-ID | <rd3ilsb6myw5$.15uzm66jyibid$.dlg@40tude.net> |
| In reply to | #3520 |
Am Mon, 09 Nov 2015 08:33:21 +0100 schrieb Karl Pflästerer: > Unter Windows kann dies schon file-locking sein. zB auch ein > Virenscanner, der dir dazwischenfunkt. All dies hat nichts mit PHP zu > tun. Mmh .. also "zu Fuß" geht es und per php nicht... > Wenn du Dateien hochladen und öffentlich verfügbar machen willst, hilft > es, sich mit der Terminologie anzufreunden. sorry, aber ich kann ja die Datei hochladen und das sogar ohne die Fachterminologie zu beherrschen. Allerdings nur per ftp. Wenn die Terminologie das Problem lösen würde lerne ich diese natürlich gerne. Ich vermute jedoch, dass es nicht besser wird nur weil ich die Abkürzungen kenne. Ich gehe inzwischen davon aus, dass ich hier mit meiner Frage nicht weiterkomme. Dennoch Besten Dank für Deine Bemühungen.
[toc] | [prev] | [next] | [standalone]
| From | Torsten Zuehlsdorff <foo@meisterderspiele.de> |
|---|---|
| Date | 2015-11-11 09:37 +0100 |
| Message-ID | <n1uulf$nit$1@dont-email.me> |
| In reply to | #3521 |
On 09.11.2015 17:31, Thomas Meyer wrote: > Am Mon, 09 Nov 2015 08:33:21 +0100 schrieb Karl Pflästerer: > > >> Unter Windows kann dies schon file-locking sein. zB auch ein >> Virenscanner, der dir dazwischenfunkt. All dies hat nichts mit PHP zu >> tun. > > Mmh .. also "zu Fuß" geht es und per php nicht... > >> Wenn du Dateien hochladen und öffentlich verfügbar machen willst, hilft >> es, sich mit der Terminologie anzufreunden. > > sorry, aber ich kann ja die Datei hochladen und das sogar ohne die > Fachterminologie zu beherrschen. Allerdings nur per ftp. Wenn die > Terminologie das Problem lösen würde lerne ich diese natürlich gerne. Ich > vermute jedoch, dass es nicht besser wird nur weil ich die Abkürzungen > kenne. An dieser Stelle irrst du dich - und zwar sehr. Und auch deine Aussage ist nicht richtig. *Du* kannst die Dateien nicht hochladen. Mit dem Fachwissen, was zusammen mit den Abkürzungen daher kommt, wäre es dir jedoch möglich. Jetzt kann aber nur dein FTP Programm die Dateien hochladen. [Nur zur Sicherheit: das ist freundlich gemeint und in keinster Weise negativ] > Ich gehe inzwischen davon aus, dass ich hier mit meiner Frage nicht > weiterkomme. Dennoch Besten Dank für Deine Bemühungen. Es ist tatsächlich die falsche Gruppe, aber die Lösungshilfen sind alle korrekt. Schau sie dir am besten noch mal an. Gruß, Torsten
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2015-11-09 17:48 +0100 |
| Message-ID | <5640CE4C.1000802@arnowelzel.de> |
| In reply to | #3517 |
Am 2015-11-08 um 23:25 schrieb Thomas Meyer: > Am Sun, 08 Nov 2015 19:30:16 +0100 schrieb Karl Pflästerer: > > >> Ich schlage vor, bevor du den Upload mit PHP umsetzt, ihn ganz simpel >> per FTP von der Kommandozeile zu testen. Dann hast du auch direkt >> Fehlermeldungen, wenn etwas nicht klappt. >> >> Danach kann man dir bestimmt helfen, deinen Code robust zu schreiben. > > mmh ... also per FTP kann ich beliebig wiederholen und stets erfolgreich > hochladen. Per php geht es nicht, aber es erscheinen auch keine > Fehlermeldungen. Die vorhandene Datei wird jeweils nur leer überschrieben D.h. die Datei ist dann auch wirklich leer und es wird nicht nur von PHP behauptet, dass sie 0 Bytes groß ist? > unten mal die ausgegebenen Meldungen des html-files. [...] > 3. > FTP Verbindung zu xxxxx.de hergestellt ... > > Stand alte Datei: 08.11.2015 16:39 > Groesse alte Datei: 5696 > > Stand neue Datei: 08.11.2015 23:17 > Groesse neue Datei: 0 > > FTP Verbindung wurde geschlossen ! Hmm - Du stellst im Script mit ftp_pasv($conn_id, true); auf passive FTP um. Bist Du sicher, dass das bei dem betreffenden Server immer zuverlässig klappt? Hast Du das mit einem regulären FTP-Client geprüft? Sonst fällt mir auf Anhieb keine Fehlerquelle ein, die dazu führen könnte, dass die Übertragung manchmal nicht klappt. -- Arno Welzel http://arnowelzel.de http://de-rec-fahrrad.de http://fahrradzukunft.de
[toc] | [prev] | [next] | [standalone]
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-10 00:01 +0100 |
| Message-ID | <s4g5glqm8nud$.1eezn2zo9lmv0.dlg@40tude.net> |
| In reply to | #3522 |
Am Mon, 9 Nov 2015 17:48:12 +0100 schrieb Arno Welzel: >> mmh ... also per FTP kann ich beliebig wiederholen und stets erfolgreich >> hochladen. Per php geht es nicht, aber es erscheinen auch keine >> Fehlermeldungen. Die vorhandene Datei wird jeweils nur leer überschrieben > > D.h. die Datei ist dann auch wirklich leer und es wird nicht nur von PHP > behauptet, dass sie 0 Bytes groß ist? sie ist leer. Wenn ich per FTP auf den Server gehe bestätigt sich das. Google zeigte mir, dass das Problem wohl bekannt sei. Eine schicke Lösung fand ich allerdings nicht. > Hmm - Du stellst im Script mit > > ftp_pasv($conn_id, true); > > auf passive FTP um. Bist Du sicher, dass das bei dem betreffenden Server > immer zuverlässig klappt? Hast Du das mit einem regulären FTP-Client > geprüft? Sonst fällt mir auf Anhieb keine Fehlerquelle ein, die dazu > führen könnte, dass die Übertragung manchmal nicht klappt. Mit einem FTP-Programm klappt es jederzeit und zuverlässig auf allen Servern. Ich wüsste auch nicht das ich was besonderes eingestellt hätte. die Zeile habe ich mal rausgenommen, keine Änderung. Bei den ersten beiden Servern klappt es, bei den beiden anderen nicht. Die beiden letzten liegen bei 1&1, evtl. sind die dort ja "komisch". Das Sript kommt auf alle drauf und kann was machen, nur eben wohl nicht alles. Nicht das ich jetzt ein großes Problem habe, händisch geht es ja immer, aber es wäre schon komfortabel wenn ich eine Seite aufrufe und die dann alle vier Ziele ansteuert und die Datei erneuert.
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2015-11-10 11:25 +0100 |
| Message-ID | <5641C62D.5010001@arnowelzel.de> |
| In reply to | #3523 |
Am 2015-11-10 um 00:01 schrieb Thomas Meyer:
> Am Mon, 9 Nov 2015 17:48:12 +0100 schrieb Arno Welzel:
>
>>> mmh ... also per FTP kann ich beliebig wiederholen und stets erfolgreich
>>> hochladen. Per php geht es nicht, aber es erscheinen auch keine
>>> Fehlermeldungen. Die vorhandene Datei wird jeweils nur leer überschrieben
>>
>> D.h. die Datei ist dann auch wirklich leer und es wird nicht nur von PHP
>> behauptet, dass sie 0 Bytes groß ist?
>
> sie ist leer. Wenn ich per FTP auf den Server gehe bestätigt sich das.
> Google zeigte mir, dass das Problem wohl bekannt sei. Eine schicke Lösung
> fand ich allerdings nicht.
>
>
>> Hmm - Du stellst im Script mit
>>
>> ftp_pasv($conn_id, true);
>>
>> auf passive FTP um. Bist Du sicher, dass das bei dem betreffenden Server
>> immer zuverlässig klappt? Hast Du das mit einem regulären FTP-Client
>> geprüft? Sonst fällt mir auf Anhieb keine Fehlerquelle ein, die dazu
>> führen könnte, dass die Übertragung manchmal nicht klappt.
>
> Mit einem FTP-Programm klappt es jederzeit und zuverlässig auf allen
> Servern. Ich wüsste auch nicht das ich was besonderes eingestellt hätte.
Dann scheinen die ftp-Funktionen in PHP in dieser Hinsicht schlicht
unbrauchbar zu sein.
Eventuell hast Du mit CURL mehr Erfolg, zumindest für das Hochladen.
Siehe auch
<http://www.web-development-blog.com/archives/tutorial-ftp-upload-via-curl/>
Aus dieser URL der Code für das hochladen einer Datei, sinngemäß:
// $localfile = Name der lokalen Datei inkl. Pfad
// $remotefile = Name der Datei auf dem FTP-Server inkl. Pfad
$ch = curl_init();
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL,
'ftp://ftp_login:password@ftp.domain.com/'.$remotefile);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_errno($ch);
curl_close ($ch);
if ($error_no == 0) {
$error = 'Dateiupload erfolgreich.';
} else {
$error = 'Fehler beim Dateiupload.';
}
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
http://fahrradzukunft.de
[toc] | [prev] | [next] | [standalone]
| From | Matthias P. Würfl <matthias@wuerfl.com> |
|---|---|
| Date | 2015-11-11 00:17 -0800 |
| Message-ID | <9c9f2080-693f-4df5-8d53-e5b967e7df40@googlegroups.com> |
| In reply to | #3523 |
Am Dienstag, 10. November 2015 00:01:45 UTC+1 schrieb Thomas Meyer: > Mit einem FTP-Programm klappt es jederzeit und zuverlässig auf allen > Servern. Ich wüsste auch nicht das ich was besonderes eingestellt hätte. Als "Freiheiten" gibt es die Auswahl aktiv/passiv sowie die Portwahl. Im Zusammenhang mit IP-Masquerading, Plasteroutern und "Personal Firewalls" gibt es da eine Menge was bei einer FTP-Datenverbindung (Port 20) schief gehen kann. Des weiteren gibt es noch verschiedene Modes und so weiter, so dass orakeln nicht viel bringt und man einfach mal gucken muss, was da überhaupt kaputt ist bevor man anfängt zu reparieren. Ich würde dem Problem mit Wireshark zu Leibe rücken und da im Netzwerkverkehr nachschauen wo das Problem liegt. Andererseits: Ich würde das nicht machen, sondern statt FTP einfach irgendein Protokoll nehmen welches auch dieses Jahrtausend noch seine Berechtigung hat. Schieb die Daten in ein VCS und lass die Server ein Update davon machen oder so.... Grüße, Matthias
[toc] | [prev] | [next] | [standalone]
| From | Thomas Meyer <ich.will@keine.mail> |
|---|---|
| Date | 2015-11-11 17:16 +0100 |
| Message-ID | <1i18ot0birtv4$.1u52ue2kca9mh$.dlg@40tude.net> |
| In reply to | #3525 |
Am Wed, 11 Nov 2015 00:17:09 -0800 (PST) schrieb Matthias P. Würfl: > Am Dienstag, 10. November 2015 00:01:45 UTC+1 schrieb Thomas Meyer: > >> Mit einem FTP-Programm klappt es jederzeit und zuverlässig auf allen >> Servern. Ich wüsste auch nicht das ich was besonderes eingestellt hätte. > > Als "Freiheiten" gibt es die Auswahl aktiv/passiv sowie die Portwahl. Im Zusammenhang mit IP-Masquerading, Plasteroutern und "Personal Firewalls" gibt es da eine Menge was bei einer FTP-Datenverbindung (Port 20) schief gehen kann. Des weiteren gibt es noch verschiedene Modes und so weiter, so dass orakeln nicht viel bringt und man einfach mal gucken muss, was da überhaupt kaputt ist bevor man anfängt zu reparieren. > > Ich würde dem Problem mit Wireshark zu Leibe rücken und da im Netzwerkverkehr nachschauen wo das Problem liegt. > > Andererseits: Ich würde das nicht machen, sondern statt FTP einfach irgendein Protokoll nehmen welches auch dieses Jahrtausend noch seine Berechtigung hat. > > Schieb die Daten in ein VCS und lass die Server ein Update davon machen oder so.... ok, es handelt sich nur um eine einzelne Datei die sporadisch mal auf die vier Server gebracht werden muss. curl brachte mich leider auch nicht weiter. Der zeitliche Aufwand per FTP ist allerdings übersichtlich, insofern werde ich es dabei belassen. Besten Dank für die Bemühungen.
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web