Opciones de contexto para FTP

Opciones de contexto para FTPListado de opciones de contexto para FTP

Descripción

Opciones de contexto para transportes ftp:// y ftps://

Opciones

overwrite boolean

Permite sobrescribir archivos ya existentes en el servidor remoto. Se aplica sólo al modo de escritura (subida).

Defaults to false.

resume_pos integer

Desplazamiento de archivo en donde iniciar la transferencia. Se aplica sólo al modo de lectura (descarga).

Por defecto es 0 (inicio del archivo).

proxy string

Petición FTP al proxy por medio de un servidor proxy http. Se aplica sólo a operaciones de lectura de archivos. Ejemplo: tcp://squid.example.com:8000.

Historial de cambios

Versión Descripción
5.1.0 Se añadió proxy.

Notas

Nota: Opciones subyacentes del contexto del flujo del socket
Opciones adicionales de contexto pueden se soportadas por el transporte subyacente Para flujos ftp://, remitirse a las opciones de contexto para el transporte tcp://. Para flujos ftps://, remitirse a las opciones de contexto para el transporte ssl://.

add a note

User Contributed Notes 3 notes

up
17
php dot net at misterchucker dot com
16 years ago
This is an example of how to allow fopen() to overwrite a file on an FTP site. If the stream context is not modified, an error will occur: "...failed to open stream: Remote file already exists and overwrite context option not specified...".<?php// The path to the FTP file, including login arguments$ftp_path = 'ftp://username:password@example.com/example.txt';// Allows overwriting of existing files on the remote FTP server$stream_options = array('ftp' => array('overwrite' => true));// Creates a stream context resource with the defined options$stream_context = stream_context_create($stream_options);// Opens the file for writing and truncates it to zero length if ($fh = fopen($ftp_path, 'w', 0, $stream_context)){    // Writes contents to the file    fputs($fh, 'example contents');        // Closes the file handle    fclose($fh);}else{    die('Could not open file.');}?>
up
-1
dev at codesatori dot com
8 years ago
Apparently the overwrite-option only registers as false if it's absent. If I specify it as false, it acts the same as true and overwrites. Then, <?phpif (empty($opts['overwrite'])) {    unset($opts['overwrite']);}?>...was the simple fix for my FTP stream wrapper class sporting default options. This is quite unexpected though; false means false even if I say so? Apparently PHP (7.0.2) just checks if the option exists, not its boolean value.
up
-3
instatiendaweb at gmail dot com
4 years ago
// Ruta del ftp debe coincidir con la ruta del localhost$ftp_path = 'ftp://francisco:aaa@localhost:21/ftparchivo.txt';// Escribimos las opciones de stream$stream_options = array('ftp' => array('overwrite' => TRUE));// Creamos un contexto$stream_context = stream_context_create($stream_options);\escribir::verifacionnota($stream_context, 'STREAMCONTEXT');// Abrimos el fichero que vamos a leer$flujo = fopen($ftp_path, 'r', false, $stream_context);//Funcion creada :vardump + string\escribir::verifacionnota($flujo, 'VARDUMP FOPEN');$contenido = '';//Traduccion mientras el contenido del archivo no este al final del fichero ==> feofwhile (!feof($flujo)) {//Entonces lee 8192 bytes del archivo y añadelos a la variable contenido$contenido .= fread($flujo, 8192);}\escribir::verifacionnota($contenido, 'VARDUMP CONTENIDO');//Cerramos el flujofclose($flujo);
To Top