Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #3515 > unrolled thread

Datei Upload

Started byThomas Meyer <ich.will@keine.mail>
First post2015-11-08 17:20 +0100
Last post2015-11-11 17:16 +0100
Articles 13 — 5 participants

Back to article view | Back to de.comp.lang.php


Contents

  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

#3515 — Datei Upload

FromThomas Meyer <ich.will@keine.mail>
Date2015-11-08 17:20 +0100
SubjectDatei 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]


#3516

Fromk@rl.pflaesterer.de (Karl Pflästerer)
Date2015-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]


#3517

FromThomas Meyer <ich.will@keine.mail>
Date2015-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]


#3518

Fromk@rl.pflaesterer.de (Karl Pflästerer)
Date2015-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]


#3519

FromThomas Meyer <ich.will@keine.mail>
Date2015-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]


#3520

Fromk@rl.pflaesterer.de (Karl Pflästerer)
Date2015-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]


#3521

FromThomas Meyer <ich.will@keine.mail>
Date2015-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]


#3526

FromTorsten Zuehlsdorff <foo@meisterderspiele.de>
Date2015-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]


#3522

FromArno Welzel <usenet@arnowelzel.de>
Date2015-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]


#3523

FromThomas Meyer <ich.will@keine.mail>
Date2015-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]


#3524

FromArno Welzel <usenet@arnowelzel.de>
Date2015-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]


#3525

FromMatthias P. Würfl <matthias@wuerfl.com>
Date2015-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]


#3527

FromThomas Meyer <ich.will@keine.mail>
Date2015-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