[php] grote betanden kopieren naar ftp-server

Pagina: 1
Acties:

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Hi,
Ik ben op 't moment bezig met een scriptje wat een bestand van een vooraf ingegeven (netwerk)locatie moet kopieren naar een ftp server.

Echter het kunnen grote bestanden zijn (lees tot ca. 1GB). De server waar ik de php file op draait moet dus bijv. bestand //192.168.1.3/C/bestand.zip kopieren naar ftp://user:pass@10.11.12.13/C.

Nu ben ik verschillende functies tegengekomen, maar het schijnt dat die allemaal naar ca. verloop van tijd een time-out geven. Even ter verduidelijking: de verbinding server-netwerkclient loopt op 100mbit en de verbinding server-internet = @home snelheid, zeg 250kb/s

Alvast bedankt!

  • Grum
  • Registratie: Juni 2001
  • Niet online
pak je toch scp of ncftpput of ftp met een scriptje of uucp ? :p

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Waarom zouden ze een timeout geven??

Heb je het al es geprobeerd met de standaard fopen/fread/fwrite/etc functies :?

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Ik dacht dat het niet zou werken met fopen e.d.
ik heb hier nog nog wel die php liggen, maar punt daarbij was dat die de file niet upload naar de ftp-server..

Dit is trouwens het script:
PHP:
1
<?  $fp = fopen('/home/usr/blaat.gif, 'r');   $data = fread($fp, filesize('/home/usr/blaat.gif'));   fclose($fp);   $fp = fopen('ftp://madmurdock:test@10.11.12.13', 'w+');   fwrite($fp, $data);   fclose($fp); ?>

Ik wou eerst gewoon ff een lokaal bestandje kopieren. Als ik i.p.v. die ftp server gewoon een lokaal path opgeef is het goed. Nu logt de server wel in op de ftp server, maar schrijf om een of andere reden niks weg? Rechten staan goed...

Maar jullie denken dat dit ook bij grote betanden gaat werken?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Mja, je zou bijvoorbeeld 2 verschillende $fp's kunnen openen? ;)

Daarnaast gaf je al aan dat de data soms een GB groot is, dat _wil_ je niet in een variabele stoppen
PHP:
1
<?while(!feof($freadp))   fwrite($fwritep, fread($freadp, 4096));?>

fwrite zou in principe moeten werken met ftp (en uiteraard moet je schrijfrechten hebben aldaar)