Tengo curiosidad sobre cómo cargar archivos a través de FTP usando PHP. Digamos que tengo un formulario de carga y el usuario ha subido un archivo. ¿Cómo transferir el archivo (sin pasar del directorio temporal) a algún host FTP usando PHP?Carga de archivos a través de FTP usando PHP
12
A
Respuesta
18
Aquí van:
$ftp = ftp_connect($host,$port,$timeout);
ftp_login($ftp,$user,$pass);
$ret = ftp_nb_put($ftp, $dest_file, $source_file, FTP_BINARY, FTP_AUTORESUME);
while (FTP_MOREDATA == $ret)
{
// display progress bar, or someting
$ret = ftp_nb_continue($ftp);
}
// all done :-)
manejo de errores omite por razones de brevedad.
2
Eche un vistazo a FTP section en el sitio web PHP - es muy útil.
13
Aquí es un ejemplo de código
$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file = "";//tobe uploaded
$remote_file = "";
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
// close the connection
ftp_close($conn_id);
3
Aquí hay una función que lo haga por usted.
function uploadFTP($server, $username, $password, $local_file, $remote_file){
// connect to server
$connection = ftp_connect($server);
// login
if (@ftp_login($connection, $username, $password)){
// successfully connected
}else{
return false;
}
ftp_put($connection, $remote_file, $local_file, FTP_BINARY);
ftp_close($connection);
return true;
}
Uso:
uploadFTP("127.0.0.1", "admin", "mydog123", "C:\\report.txt", "meeting/tuesday/report.txt");
+0
¿Qué proporciona su respuesta más que la aceptada? – dvhh
+0
@dvhh Encuentro que es más fácil en una función. –
2
¿Qué hay de subir a través del rizo? (Nota: también puede usar curl para SFTP, FTPS)
<?php
$ch = curl_init();
$localfile = '/path/to/file.zip';
$remotefile = 'filename.zip';
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://ftp_login:[email protected]/'.$remotefile);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_errno($ch);
curl_close ($ch);
if ($error_no == 0) {
$error = 'File uploaded succesfully.';
} else {
$error = 'File upload error.';
}
?>
Cuestiones relacionadas
- 1. ¿Es posible cargar archivos de FTP a FTP usando PHP
- 2. Carga de FTP usando .NET
- 3. Carga de archivos del servidor remoto a través de PHP
- 4. Error de carga de archivos FTP Java
- 5. Obtener la lista de archivos a través de FTP
- 6. Carga de archivos FTP con HTTP Proxy
- 7. Carga de archivos PHP usando jquery post
- 8. Cargar todo el directorio a través de PHP FTP
- 9. carga de archivos a través del iPad
- 10. Descargar archivos grandes a través de FTP con python
- 11. ¿Cómo conectarse a ftp usando Eclipse para desarrolladores de PHP?
- 12. Cómo sincronizar archivos a través de FTP con Eclipse RSE?
- 13. HTTP vs carga de FTP
- 14. Archivos de carga de rieles en el servidor ftp
- 15. Cómo reanudar la descarga de archivos a través de FTP usando Curl en C?
- 16. Carga de archivos a través de AJAX dentro de JQuery
- 17. Sirviendo archivos .docx a través de Php
- 18. Script PHP de carga de archivos PHP
- 19. Cómo manejar la carga de archivos múltiples usando PHP
- 20. Probando la velocidad de carga y descarga de archivos usando FTP
- 21. Carga de archivos usando RichFaces
- 22. ¿Subir archivos al servidor ftp usando cakephp?
- 23. Subir archivos al sitio FTP usando VB.NET
- 24. Descargando una carpeta mediante FTP usando PHP
- 25. Validación de archivos de carga de PHP
- 26. Evitar archivos parcialmente cargados (a través de FTP) al obtener el archivo más reciente con ajax y PHP
- 27. Guía rápida de carga de archivos php
- 28. Carga de imágenes con FTP en Android
- 29. ¿Cómo saber si la carga del ftp a través de ruby es exitosa?
- 30. FTP consiguen todos los archivos
¿Qué le sucedió a su sangría? – jwueller
Lo sentimos, está bien ahora –
no se puede conectar al servidor en la configuración de la conexión básica y reviso todo una y otra vez y no puedo encontrar el error –