[PHP] Ftp inhoud kopieren

Pagina: 1
Acties:
  • 170 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

Ik had dus een vraagje:
Ik heb 2 ftp's. En van de ene ftp wil ik 1 bestand wat daarop staat kopieren naar de andere ftp dmv een scriptje.
Dus niet handmatig dat ik het zelf met filezilla download, en zelf naar de andere fpt overzet.

dus dan eerst met ftp_connect, ftp_login bij ftp1.

En dan gaat het fout, wat moet ik doen? ik heb lopen sukkelen. Ik heb lopen klooien met ftp_get, ftp_nb_get etc, ftp_put.

Maar alles wat ik doe gaat fout?

Hoe kan ik dan een bestand overzetten van de ene ftp naar een andere ftp dmv een scriptje?

Harstikke bedankt :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Kort samengevat: downloaden naar de server waar je PHP-script op draait, vervolgens uploaden naar die andere FTP-server en dan eventueel het bestand wissen. Alleen...hoe moeten wij je vertellen wat je fout doet als je niet eerst vertelt wat je precies geprobeerd hebt? Laat eens wat relevante code zien. Wachtwoorden kun je natuurlijk weglaten. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sorry :$ totaal vergeten :$
code:
1
2
3
4
5
6
<?php

$connect = ftp_connect('127.0.0.1', 21, 10)or die('nope ftp');
ftp_login($connect, 'root', 'adminuser');

ftp_get($connect, $_SERVER['DOCUMENT_ROOT'] . '/test.zip', 'http://www.vdbergen.com/test.zip', FTP_BINARY);

Daar haalt die dus het file test.zip op(wat die al niet doet ?)

en daarna dan dit:
code:
1
ftp_put($connect, '127.0.0.1/test.zip', $_SERVER['DOCUMENT_ROOT'] . '/test.zip', FTP_BINARY);

Wat het ook niet doet omdat die het file niet kan getten, miss zit er hier ook een fout in hoor, is mogelijk.

Kortom: Het is de bedoeling dat test.zip, die op vdbergen.com bevindt(voorbeeld) wordt gedownload naar de server waar het php-script zich bevindt.
En dat test.zip wordt dan geupload naar de ftp-server van me localhostje :)

Hopelijk is het nu iets duidelijker :)


Verder wat je kort samengevat bedoeld klopt volledig :)

[ Voor 6% gewijzigd door Verwijderd op 17-11-2007 23:46 ]


Acties:
  • 0 Henk 'm!

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 13-07 01:53

Korben

() => {};

Je connect eerst naar je locale FTP-server, en vervolgens wil je met de verbinding naar je lokale FTP een bestand ophalen van www.vdbergen.com... Dat gaat niet helemaal goed.

Wat je dus moet doen is eerst verbinden naar www.vdbergen.com met ftp_connect, vervolgens met ftp_get het bestand van vdbergen.com ophalen, en dan de verbinding naar vdbergen.com sluiten. Zo dus (ik kan geen PHP, dus let niet op syntaxfouten):

PHP:
1
2
3
4
5
6
7
$connect = ftp_connect('www.vdbergen.com') or die('nope ftp');
ftp_login($connect, 'anonymous', 'anonymous@anonymous.org');

ftp_get($connect, $_SERVER['DOCUMENT_ROOT'] . '/test.zip', '/test.zip', FTP_BINARY);
// /test.zip is dus het pad van het bestand op de FTP-server

ftp_close($connect);


Dan pas moet je de verbinding naar je eigen FTP-server openen en het bestand daar uploaden:
PHP:
1
2
3
4
5
6
7
$connect = ftp_open('127.0.0.1');
ftp_login($connect, 'root', 'adminuser');

ftp_put($connect, '/test.zip', $_SERVER['DOCUMENT_ROOT'] . '/test.zip', FTP_BINARY);
// wederom, /test.zip is het pad op de FTP-server

ftp_close($connect);

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
er bestaat ook zoiets als FXP (server to server transfer, via FTP) misschien kun je het zo sneller/directer doen, altijd handig om daar ook even naar te googlen :)

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Harstikke bedankt Korben, verder @ Therat, ik ga kijken :)

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
therat10430 schreef op zondag 18 november 2007 @ 09:14:
er bestaat ook zoiets als FXP (server to server transfer, via FTP) misschien kun je het zo sneller/directer doen, altijd handig om daar ook even naar te googlen :)
Is AFAIK niet mogelijk met PHP tenzij je raw FTP commando's gaat geven, wat nogal een bitch is :)

Wat wellicht wel kan is eerst een filestream openen met fopen, daarna die gebruiken als resource voor ftp_nb_get en die direct doorsturen met ftp_nb_put. Een soort FXP met de webserver als gateway zogezegd. Niet zeker of dit werkt though', nooit geprobeerd :+

[ Site ] [ twitch ] [ jijbuis ]

Pagina: 1