[php] windows ftp perikellen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Met volgend scriptje wil ik gewoon een ftp directory listing verkrijgen
(gewoon een opsomming van files, niet meer niet minder)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// set up basic connection
$ftp_server = "ipadres";
$conn_id = ftp_connect($ftp_server); 

// login with username and password
$ftp_user_name = "user";
$ftp_user_pass = "login";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// check connection
if ((!$conn_id) || (!$login_result)) { 
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
        exit; 
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name\n";
        
        /* echo nl2br(@ftp_exec($conn_id, "ls -l")); 
            ander probeersel, leverde ook niets op */
        
        $dir=ftp_pwd($conn_id);
        $list=ftp_nlist($conn_id, $dir); 
        
        echo $dir . "\n"; // deze print de juiste directory
        echo $list . "\n"; // deze print 'Array'
        echo count($list) . "\n"; // deze print altijd 0, ongeacht inhoud van de dir
    }


Ik krijg dus steeds een lege array terug, ook al staan er een 10tal filetjes
in die directory. Ik heb zo'n donkerbruin vermoeden dat dit probleem te wijten is aan de brakke ftp-php werking onder windows waarover ik al gelezen heb op dit forum (via de search).

Mijn vraag: is er een goede oplossing die toch werkt onder windows om files te lezen? Ik heb zelf reeds een scala aan mogelijkheden geprobeerd zoals ftp_nlist,raw list,ftp_exec,... steeds met hetzelfde resultaat.

De omgeving waar dit scriptje op draait: PHP 4.3.0,IIS 4.0,Windows NT 4

Clowns to the left of me, Jokers to the right


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP:
1
print_r($list);
:?

.edit: Zie ook: Arrays

[ Voor 63% gewijzigd door RedRose op 25-03-2003 10:46 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Het probleem is niet het afdrukken van de lijst zelf (basis kennis), daarom heb ik die code niet mee gecopy/paste naar deze site.

Het probleem is wel dat deze lijst altijd maagdelijk wit is.

PHP:
1
echo count($list) . "\n"; // deze print altijd 0, ongeacht inhoud van de dir


Zodra deze functie een waarde hoger dan 0 weergeeft kan ik al verder.

[ Voor 36% gewijzigd door Kapoen op 25-03-2003 10:50 ]

Clowns to the left of me, Jokers to the right


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Kapoen schreef op 25 maart 2003 @ 10:47:
Het probleem is niet het afdrukken van de lijst zelf (basis kennis), daarom heb ik die code niet mee gecopy/paste naar deze site.

Het probleem is wel dat deze lijst altijd maagdelijk wit is.

PHP:
1
2
echo count($list) . "\n"; // deze print altijd 0, 
ongeacht inhoud van de dir


Zodra deze functie een waarde hoger dan 0 weergeeft kan ik al verder.
Sorry ik had inderdaad niet goed gelezen |:(. Ik lees op php.net dat de functie buggy werkt onder IIS/Windows en veel PHP versies (ook 4.3.0) en dus niet werkt (hier dus).

De functie schijnt het op Apache wel te doen. Van IIS naar Apache overgaan is dus een mogelijkheid, hoewel omslachtig. Ik zoek nog even verder. :)

.edit: Hetzelfde geldt dus voor ftp_raw_list();

[ Voor 6% gewijzigd door RedRose op 25-03-2003 11:14 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
Ik lees op php.net dat de functie buggy werkt onder IIS/Windows en veel PHP versies (ook 4.3.0) en dus niet werkt (hier dus).
Daar vreesde ik dus al voor. Spijtig genoeg is veranderen van IIS naar Apache geen optie
omdat ik zelf geen sysad ben. Ik ben maar een eenvoudige stagiair :). En aangezien heel het intranet van 'mijn bedrijf' draait op IIS hoef ik dus zelfs geen suggestie te doen om te veranderen, het komt er toch niet van.
Ik zoek nog even verder. :)
_/-\o_

Ik blijf ook nog even zoeken. Ik heb toch tijd zat als stagiair :)

[ Voor 16% gewijzigd door Kapoen op 25-03-2003 12:00 ]

Clowns to the left of me, Jokers to the right


Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 00:01

me1299

$ondertitel

Kan je niet een socket openen naar die ftp ala telnet zeg maar?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

  • Kapoen
  • Registratie: Mei 2002
  • Laatst online: 10:51
en dan de hele RFC ivm het FTP protocol zelf implementeren?
Dat lijkt mij een mooie uitdaging, helaas heb ik nu ook niet zoveel tijd en
in het kader van het project waar ik aan werk is dat ook helemaal niet nodig.
(een eenvoudige nieuws/portal site waar mensen hun belevenissen kunnen posten).

Verder zou ik ook zeker moeten zijn van de oorzak van het probleem.
Stel dat ik zelf een ftp client in elkaar steek, maar dat deze ook lege
output aanmaakt omdat de combinatie PHP-IIS buggy is...

[ Voor 26% gewijzigd door Kapoen op 25-03-2003 13:39 ]

Clowns to the left of me, Jokers to the right

Pagina: 1