Document says "Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail. "
As of version 5.2.5 at least fopen("ftp://...") uses an ACTIVE mode connection by default (it issues an FTP PORT command but not a PASV command). To force passive mode:
$f = fopen("ftp://...");
ftp_pasv($f, true);
ftp://
ftps://
ftp:// -- ftps:// — Accès aux URLs FTP(s)
Description
Permet l'accès aux fichiers existants, et la création de fichiers via FTP. Si le serveur ne supporte pas les connexions en mode passif, la connexion échouera.
Vous pouvez ouvrir des fichiers en lecture ou en écriture, mais pas les deux en même temps. Si le fichier distant existe déjà sur le serveur ftp et que vous tentez de l'ouvrir en écriture alors que vous n'avez pas spécifié l'option overwrite dans le contexte, la connexion échouera. Si vous devez réécrire des fichiers existants en utilisant ftp, spécifiez l'option overwrite dans le contexte et ouvrez le fichier en écriture. Alternativement, vous pouvez utiliser l'extension FTP.
Si vous avez définie la directive from dans le fichier php.ini, alors cette valeur sera émise en tant que mot de passe pour les FTP anonymes.
Options
- ftp://example.com/pub/fichier.txt
- ftp://user:password@example.com/pub/fichier.txt
- ftps://example.com/pub/fichier.txt
- ftps://user:password@example.com/pub/fichier.txt
Historique
| Version | Description |
|---|---|
| 4.3.0 | Ajout de ftps://. |
Notes
Note:
FTPS n'est supporté que lorsque l'extension openssl est active.
Si le serveur ne supporte pas SSL, alors la connexion passera automatiquement en connexion ftp non chiffrée.
Note: L'ajout
Depuis PHP 5.0.0, les fichiers peuvent être ajoutés avec le gestionnaire d'URL ftp://. Dans les précédentes versions, si vous tentez d'ajouter un fichier avec ce gestionnaire, une erreur sera émise.
Voir aussi
old fashioned FTP servers may not be compatible with ftp_connect().
<?
$str ="replace all contenents";
$filew="ftp://gufo:gufo@192.168.1.55:21/jj.php";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($filew,$str,LOCK_EX,$context);
?>
For Intranet purposes I found I preferred to move my file via ftp functions to match the session user's ftp account and put the file in a holding bay so I knew who it was from.
The FTP wrapper method will NOT do this if your ftp server does NOT support passive mode.
eg. an ftp server behind NAT/routing
