Subir un fichero por FTP en PHP
El código que nos muestran es sencillo, se trata de subir un fichero mediante un formulario a un servidor FTP, para lo cual será necesario CURL.
Inicialmente necesitaremos el formulario html:
<form action="ftpupload.php" method="post" enctype="multipart/form-data">
<div>
<label for="upload">Selecciona un fichero</label>
<input name="upload" type="file" />
<input type="submit" name="submit" value="Enviar" />
</div>
</form>
Recordad que es importante que el enctype sea multipart/form-data para que se pueda enviar el fichero al servidor.
Una vez tenemos este formulario, deberemos tener el fichero ftpupload.php el cual deberá ejecutar lo siguiente:
if (isset($_POST['submit'])) {
if (!empty($_FILES['upload']['name'])) {
$ch = curl_init();
$localfile = $_FILES['upload']['tmp_name'];
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://usuario:password@ftp.servidor.com/'.$_FILES['upload']['name']);
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 = 'Fichero subido correctamente.';
} else {
$error = 'Error al subir el fichero.';
}
} else {
$error = 'Seleccione un fichero.';
}
}
Ha salido una nueva version de WAMP 1.6.4, una aplicación que te instala Apache, PHP5, MySQL, PHPmyadmin y SQLitemanager en tu ordenador, la cual recomiendo sin lugar a dudas.
Últimamente estamos mostrando muchos frameworks PHP, cuanta más variedad mejor, aunque claro, luego hay más problemas tenemos para decidirnos. Akelos es un framework basado en el diseño Model-View-Controller, desde Ajax en la vista hasta las peticiones y respuestas en el controlador.
Serendipity es un CMS basado en PHP que nos permite llevar nuestro blog o nuestra web completa. Ofrece flexibilidad, fácil de ampliar y con un framework sencillo de usar.