He usado el este ejemplo práctico para subir ficheros vía PHP al servidor. He realizado algunos ajustes, he abierto los permisos en el directorio y va bastante bien.
El código usado en el formulario es básico, es decir, un campo de texto para escribir cualquier cosa y el campo con el botón "buscar" que me abre el explorador del PC y busca el fichero a subir. Finalmente, en el mismo formulario, un botón para ejecutar la acción del PHP descrita en la manera siguiente:
Cita:
Ahora bien, si en el directorio que tengo toda esta historia tengo tres subdirectorios más, cómo hago para que el usuario pueda elegir entre los directorios para subir su archivo? La idea es dar un poco de organización para el tipo de archivo que se va a subir.<?
$cadenatexto = $_POST["cadenatexto"];
echo "Usted ha escrito: " . $cadenatexto . "<br><br>";
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//Verificación
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "doc") || strpos($tipo_archivo, "pdf") || strpos($tipo_archivo, "zip") || strpos($tipo_archivo, "png") || strpos($tipo_archivo, "xls") || strpos($tipo_archivo, "pub") || strpos($tipo_archivo, "ppt")) && ($tamano_archivo < 1000000))) {
echo "extension de archivo o tamaño incorrecto.<br><br><table><tr><td><li>Solo se permiten ficheros del tipo: .gif .jpg .doc .pdf .zip .png .wls .pub y .ppt <br><li>Máxima medida aceptada es 1000 Kb.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "Archivo subido sin problemas.";
}else{
echo "Error subiendo archivo. Contacte con el administrador.";
}
}
?>
$cadenatexto = $_POST["cadenatexto"];
echo "Usted ha escrito: " . $cadenatexto . "<br><br>";
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//Verificación
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "doc") || strpos($tipo_archivo, "pdf") || strpos($tipo_archivo, "zip") || strpos($tipo_archivo, "png") || strpos($tipo_archivo, "xls") || strpos($tipo_archivo, "pub") || strpos($tipo_archivo, "ppt")) && ($tamano_archivo < 1000000))) {
echo "extension de archivo o tamaño incorrecto.<br><br><table><tr><td><li>Solo se permiten ficheros del tipo: .gif .jpg .doc .pdf .zip .png .wls .pub y .ppt <br><li>Máxima medida aceptada es 1000 Kb.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
echo "Archivo subido sin problemas.";
}else{
echo "Error subiendo archivo. Contacte con el administrador.";
}
}
?>
He pensado en una caja combinada para que el usuario clique y seleccione la ruta, pero no sé como acomodarla a mi caso.
Gracias por vuestra ayuda.