PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<fribidi_log2visftp_cdup>
view the version of this page
Last updated: Tue, 22 Apr 2003

XXXIII. FTP functies

Introductie

De functies in deze extensie maken client toegang naar bestands servers die File Transfer Protocol (FTP) begrijpen zoals die gedefineerd is in mogelijk.

Afhankelijkheden

Deze functies zijn beschikbaar als onderdeel van de standarad module die altijd beschikbaar is.

Installatie

Om FTP functies te kunnen gebruiken met je PHP configuratie, moet je de --enable-ftp optie toevoegen als je PHP 4 instaleert, en --with-ftp als je PHP 3 gebruikt.

Deze functies worden automatisch ingebouwd in de windows versie van PHP. Er zijn geen extra handelingen nodig om deze functies te gebruiken.

Configuratie tijdens scriptuitvoer

Deze extensie gebruikt geen configuratie regels.

Resource types

Deze extensie gebruikt ��n bron-type, die de link-identificator van de ftp-verbinding is, die je terug krijgt van ftp_connect().

Voorgedefineerde constanten

Deze constanten worden gedefineerd door deze extensie, en zullen alleen beschikbaar zijn als de extensie met PHP is meegecompileerd, of als deze dynamisch is geladen vanuit een script.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Zie ftp_set_option() voor informatie.

De volgende constanten zijn ge�ntroduceerd in PHP 4.3.0.

FTP_AUTOSEEK (integer)

Zie ftp_set_option() voor informatie.

FTP_AUTORESUME (integer)

Detecteert automatisch resume posities en start posities voor GET en PUT aanvragen (werkt alleen als FTP_AUTOSEEK aan staat)

FTP_FAILED (integer)

Asynchronous overdracht is gefaald

FTP_FINISHED (integer)

Asynchronous overdracht is voltooid

FTP_MOREDATA (integer)

Asynchronous overdracht is nogsteeds actief

Voorbeelden

Voorbeeld 1. FTP voorbeeld

<?php
// maak een basis connectie aan
$conn_id = ftp_connect($ftp_server);

// meldt je aan met een gebruikersnaam en wachtwoord
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// controleer de verbinding
if ((!$conn_id) || (!$login_result)) {
        echo "FTP connectie is mislukt!";
        echo "Probeerde naar $ftp_server te verbinden met de gebruiker $ftp_user_name";
        exit;
    } else {
        echo "Verbonden met $ftp_server, als gebruiker $ftp_user_name";
    }

// upload een bestand
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// controleer de upload status
if (!$upload) {
        echo "FTP upload is mislukt!";
    } else {
        echo "Geupload: $source_file naar $ftp_server als $destination_file";
    }

// sluit de FTP stream
ftp_close($conn_id);
?>

Inhoudsopgave
ftp_cdup -- Verandert de folder naar een folder hoger
ftp_chdir -- Verandert de folder op een FTP server
ftp_chmod -- Zet de rechten van een bestand via FTP
ftp_close -- Sluit een FTP verbinding
ftp_connect -- Opent een FTP verbinding
ftp_delete -- Verwijdert een bestand op een FTP server
ftp_exec -- Vraagt het uitvoeren van een programma aan de FTP server aan
ftp_fget -- Download een bestand van de FTP server en slaat hem op naar een open bestands pointer
ftp_fput -- Upload van een open bestands pointer naar de FTP server
ftp_get_option -- Haalt verschillende data op van de huidige FTP stream
ftp_get -- Download een bestand van de FTP server
ftp_login -- Logt in op een FTP verbinding
ftp_mdtm -- Haalt de laatste wijzig tijd op van het aangegeven bestand
ftp_mkdir -- Maakt een folder aan
ftp_nb_continue -- Vervolgt het zenden/ontvangen van een bestand (non-blocking)
ftp_nb_fget -- Ontvangt een bestand van de FTP server en schrijft het naar een open bestand (non-blocking)
ftp_nb_fput -- Schrijft een bestand van een open bestands pointer naar de FTP server (non-blocking)
ftp_nb_get -- Ontvangt een bestand van de FTP server en schrijft het naar een lokaal bestand (non-blocking)
ftp_nb_put -- Slaat een bestand op de FTP server op (non-blocking)
ftp_nlist -- Geeft een lijst met bestanden terug van een folder
ftp_pasv -- Zet de passieve modus aan of uit
ftp_put -- Upload een bestand naar de FTP server
ftp_pwd -- Geeft de huidige foldernaam terug
ftp_quit -- Sluit een FTP verbinding
ftp_raw -- Stuurt een willekeurig commando naar een FTP server
ftp_rawlist -- Geeft een gedetaileerde lijst met bestanden in een folder terug
ftp_rename -- Vernoemt een bestand op de FTP server
ftp_rmdir -- Verwijdert een folder
ftp_set_option -- Zet verschillende FTP opties
ftp_site -- Stuurt een SITE commando naar de FTP server
ftp_size -- Geeft de grootte van een bestand
ftp_ssl_connect -- Opent een Beveiligde SSL-FTP verbinding
ftp_systype -- Geeft het systeem type identificator terug van de FTP server


User Contributed Notes
FTP functies
add a note add a note
Paul Southworth
16-Mar-2000 09:27

If you are looking for a sketchy sample implementation of an FTP client written in PHP, here is a free one:  

sean at debugs dot org
26-Dec-2000 08:21

Be careful when using ftp_size; some ftp servers report different results depending on whether you have issued a BINARY or ASCII command first.   This is a bit of a drag because there appears to be no way of issuing either command with these functions.   Instead you must specify the desired transfer type with each ftp_get or ftp_put.   Thus for some servers you will get a different number of bytes actually transfered than that reported by the ftp_size function....... Yuk....
sven at cartell-network dot de
13-Feb-2002 06:27

connection to a ftp server across proxy

$ftp_server = "proxy"; f.e. 123.456.789.10
$ftp_user_name = "username@ftpserver"; f.e. [email protected]
$ftp_user_pass = "password";

$conn_id = ftp_connect($ftp_server, 2121);
$login_result = ftp_login( $conn_id, $ftp_user_name, $ftp_user_pass );

NOSPAMkent at ioflux dot NOSPAM dot com
20-Sep-2002 12:05

I think what some other posts were trying to say which may need clarification is that in PHP 4.2.3, ftp_connect("myhost.com") was failing most of the time, except it would work like every few minutes.

The fix is that ftp_connect seems to have a bug resolving addresses. If you do:

$hostip = gethostbyname($host);
$conn_id = ftp_connect($hostip);

It seems to solve the problem.
(Other users referred to an ftpbuf() error... not sure what that is, but this should fix it.)

Marius at lowvoice dot nl
22-Oct-2002 09:51

if you need to download a  file into a  string instead of into a file try this:

$temp = tmpfile();

$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $user, $pass);

$fget_result=ftp_fget($conn_id, $temp, $ftp_file_name, FTP_ASCII);
ftp_quit($conn_id);

rewind ($temp);
$FILE_DATA=fread($temp,$size);
fclose($temp);

you could also do this with fopen() but I found that using this function will keep the connection open even after a fclose()!! So repeating this many times will cause a lot of open ftp-connections.

eric at evilwalrus dot com
11-Jan-2003 05:14

There is no FTP command for the CHMODing of files, so you really have to do it manually using ftp_exec(). I havn't tried this myself but I'm assuming it should work, but here is an example of what I would do.

//After we have connected to the FTP server
//and need to set the perms for a file/dir, use
//this command
if (ftp_exec($ftp_conn, 'chmod 0666 logs/log.txt'))
   echo 'Successfully set permissions for logs/log.txt to 0666';
else
   echo 'Failed to set permissions for logs/log.txt';

Again, I have not tested this, but I assume it would work. Hope that helps.

php dot net at thedrewerys dot com
08-Feb-2003 10:25

To chmod, you need to use ftp_site instead of ftp_exec.

In the example above,
ftp_exec($ftp_conn, 'chmod 0666 logs/log.txt')
should be
ftp_site($ftp_conn, 'chmod 0666 logs/log.txt')

arjenjb dot wanadoo dot nl
09-Mar-2003 05:29

Check for a FTP server written in PHP.
Supports Passive and Active FTP, and all other standard FTP commands as decribed in RFC959.

add a note add a note

<fribidi_log2visftp_cdup>
 Last updated: Tue, 22 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Sun May 25 21:10:51 2003 CEST