login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ftp_nlist() duurt lang en faalt

Offline Emonk - 14/02/2011 17:34 (laatste wijziging 14/02/2011 18:26)
Avatar van EmonkLid Beste,

Met het volgende script probeer ik een FTP-connector te maken:

  1. <?php
  2. if (!isset($_POST["login"])) {
  3. echo '<form action="index.php" method="post">
  4. <input type="text" name="host" value="host"><br>
  5. <input type="text" name="user" value="login"><br>
  6. <input type="text" name="pass" value="password"><br>
  7. <input type="submit" name="login" value="login">
  8. </form>';
  9. } else {
  10. $connection = ftp_connect($_POST["host"]) or die ('fail ftp_connect('.$_POST["host"].')<br>');
  11. ftp_login($connection,$_POST["user"],$_POST["pass"]) or die ('fail ftp_login('.$connection.','.$_POST["user"].','.$_POST["pass"].')<br>');
  12. $files = ftp_nlist($connection, "/");
  13. print_r($files);
  14. ftp_close($connection);
  15. }
  16. ?>


Echter, wanneer er is ingelogd duurt het laden ontzettend lang. Dit zit hem in de regels met ftp_nlist() en print_r(). Uiteindelijk wordt er niets weergegeven. Hoe komt dit?

27 antwoorden

Gesponsorde links
Offline pijke - 14/02/2011 17:36
Avatar van pijke Gouden medaille

Lid
geeft hij enige vorm van error weer ofzo?
op het moment zit ik te denken aan een timeout.
Offline Emonk - 14/02/2011 17:46
Avatar van Emonk Lid nee, hij geeft geen error - maar dat doet mijn server nooit. Hoe zet je dat aan?
Offline nathanael - 14/02/2011 17:54 (laatste wijziging 14/02/2011 17:54)
Avatar van nathanael Gouden medaille

HTML gevorderde
Misschien helpt het om dit toe te voegen, bovenaan je pagina:

  1. <?php
  2.  
  3.  
  4. ?>
Offline Emonk - 14/02/2011 18:08
Avatar van Emonk Lid nee, geen errors...
ik heb met een kleine aanpassing achterhaald in welke regel het probleem precies zit, en dat is in regel 12 (met ftp_nlist()). Nu heb ik gezien dat de directory "/" verkeerd is, dat is veranderd met "."
Nu is de code:

  1. $connection = ftp_connect($_POST["host"]) or die ('fail ftp_connect('.$_POST["host"].')<br>');
  2. ftp_login($connection,$_POST["user"],$_POST["pass"]) or die ('fail ftp_login('.$connection.','.$_POST["user"].','.$_POST["pass"].')<br>');
  3. $files = ftp_nlist($connection, ".") or die ('fail ftp_nlist('.$connection.',".")<br>');
  4. print_r($files) or die ('fail print_r('.$files.')<br>');
  5. ftp_close($connection);


Echter, het duurt nog steeds lang - en de error blijft staan op ftp_nlist()...
Offline pijke - 14/02/2011 18:21
Avatar van pijke Gouden medaille

Lid
Emonk schreef:
nee, geen errors...
Emonk schreef:
Echter, het duurt nog steeds lang - en de error blijft staan op ftp_nlist()...
hoe ben je er dan achter gekomen dat daar de error zit, je moet dus wel IETS te zien krijgen.
Offline Emonk - 14/02/2011 18:22 (laatste wijziging 14/02/2011 18:22)
Avatar van Emonk Lid dat komt doordat ik iedere keer or die() erachter zet  
Offline pijke - 14/02/2011 18:24
Avatar van pijke Gouden medaille

Lid
weet je zeker dat de connectiegegevens goed zijn?
Offline Emonk - 14/02/2011 18:25
Avatar van Emonk Lid ja, anders geeft hij al een error bij ftp_login()
Offline avdg - 14/02/2011 18:37
Avatar van avdg PHP gevorderde Al het script zelf werkend gekregen? (Om zeker te zijn dat er geen blok is of dergelijke)
Offline Emonk - 14/02/2011 18:50
Avatar van Emonk Lid He, dat is raar:

  1. <?php
  2. $connection = ftp_connect("knome.nl");
  3. ftp_login($connection,"knome_nl","*******");
  4. $files = ftp_rawlist($connection, "/");
  5. var_dump($files);
  6. ftp_close($connection);
  7. ?>


werkt niet... terwijl login sowieso goed is.. waar kan dat aan liggen?
Offline pijke - 14/02/2011 19:02
Avatar van pijke Gouden medaille

Lid
staat de poort open?
Offline Emonk - 14/02/2011 19:03
Avatar van Emonk Lid Eh ja... ik load al mijn bestanden waar ik nu mee bezig ben up via hetzelfde account.
Offline pijke - 14/02/2011 19:04
Avatar van pijke Gouden medaille

Lid
heeft php toegang tot die poort?
Offline Emonk - 14/02/2011 19:05 (laatste wijziging 14/02/2011 19:05)
Avatar van Emonk Lid Dat weet ik niet, hoe controleer je dat?
Maar anders faalt die ftp_connect() toch sowieso..?
Offline pijke - 14/02/2011 19:07
Avatar van pijke Gouden medaille

Lid
daar heb ik verder ook geen verstand van 
je draait op localhost toch, die heeft doorgaans geen verbinding met internet.
Offline Emonk - 14/02/2011 19:08
Avatar van Emonk Lid Nee, alles staat online en draait op een externe server.
Offline pijke - 14/02/2011 19:10 (laatste wijziging 14/02/2011 19:13)
Avatar van pijke Gouden medaille

Lid
ah, dan houdt mijn inspiratie ook op. 

edit:
thanks 
Bedankt door: Emonk
Offline Emonk - 14/02/2011 21:06
Avatar van Emonk Lid iemand anders met een idee?
Offline Joost - 15/02/2011 00:54
Avatar van Joost PHP expert
pijke schreef:
daar heb ik verder ook geen verstand van 
je draait op localhost toch, die heeft doorgaans geen verbinding met internet.
Hoezo zo localhost niet kunnen ftp-en? Jij kan toch ook gewoon vanaf je computer met een FTP client een verbinding maken?
Offline avdg - 15/02/2011 02:21
Avatar van avdg PHP gevorderde
Emonk schreef:
Nee, alles staat online en draait op een externe server.
 
Offline Emonk - 15/02/2011 07:04
Avatar van Emonk Lid Inderdaad.... heeft iemand nog een leuk idee?
Offline UpLink - 15/02/2011 08:13
Avatar van UpLink ... Misschien ligt het aan dit (even copy/paste doen en hopen dat je engels kan )

W3schools schreef:
The windows version of PHP has built-in support for the FTP extension. So, the FTP functions will work automatically.

However, if you are running the Linux version of PHP, you will have to compile PHP with --enable-ftp (PHP 4+) or --with-ftp (PHP 3) to get the FTP functions to work.


Gevonden op deze url -> W3Schools PHP FTP Functions
Offline pijke - 15/02/2011 09:06
Avatar van pijke Gouden medaille

Lid
Joost schreef:
[..quote..]Hoezo zo localhost niet kunnen ftp-en? Jij kan toch ook gewoon vanaf je computer met een FTP client een verbinding maken?
klopt.
maar mijn ervaring met een localhost server is dat hij doorgaans geen verbinding heeft met het externe web.
Offline UpLink - 15/02/2011 12:23
Avatar van UpLink ... Even offtopic:

Profiel van Emonk schreef:
Geboortedatum: 22 juni 1996 (14 jaar)

En jij maakt website's voor een bedrijf en je verkoopt Electronica?
Moet je mij eens uitleggen hoe je dat kan doen als minderjarige...

Back ontopic:

Is het niet gemakkelijker om een vast FTP-adres te gebruiken samen met een Filesystem-systeem?
Offline Emonk - 15/02/2011 13:24
Avatar van Emonk Lid Oke, dat klopt - mijn server draait op Linux. Maar hoe zet ik FTP aan dan?
offtopic: ik maak geen websites voor bedrijven, ik heb geen klanten  
idem voor elektronica..
Offline Stijn - 15/02/2011 14:44
Avatar van Stijn PHP expert Ik zou het eens proberen met FTP commando's.

  1. $result = ftp_raw($conn, "ls") or die("raw foutje");
  2. var_dump($result);
Offline Emonk - 19/02/2011 09:50 (laatste wijziging 22/02/2011 14:18)
Avatar van Emonk Lid Met ftp-commando's krijg ik de uitvoer:

array(1) { [0]=> string(21) "500 LS not understood" }

Betekent dit dat de server het commando LS niet begrijpt? Ik snap er helemaal niets meer van 

Niemand een idee?    
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.306s