> Faqs > Como obtener el nombre del archivo subido al servidor con PHP

Como obtener el nombre del archivo subido al servidor con PHP

Buenos dias, pues ya que se ha cargado el archivo al servidor (xammp) como puedo recuperar tanto la ruta como el nombre del archivo una vez que ya fue procesado por

move_uploaded_file($archivo_nombre_temporal, $ruta . $archivo_nombre);

una vez que se ejecuta esta linea queda el archivo "subido/ cargado" en la ruta indicada y con un nuevo nombre que se modifica previamente, ahora la cuestion es como saco esos datos del archivo que se acaba de guardar en $ruta y solo para ese archivo en particular que fue subido en ese momento, en un post externo encontre una funcion que trabaja de manera excelente pero me trae TODOS los archivos que se puedan encontrar en esa carpeta este es el codigo

<?php
$directorio_escaneado = scandir('archivos/temp');
$archivos = array();
foreach ($directorio_escaneado as $item) {
    if ($item != '.' and $item != '..') {
        $archivos[] = $item;
    }
}
echo json_encode($archivos);
?>

El detalle es que la carpeta indicada en $ruta= archivos/temp es una especie de repositorio temporal, de ahi todavia se tendria que subir a su carpeta destino( pero esa esta es otra historia....).

Cualquier idea es bienvenida

Saludos

Respuestas

Los archivos que recibe el servidor están guardados en el arreglo $_FILES.

Este arreglo tendrá una entrada por cada input de tipo file que pongas en tu formulario.

De ahí puedes obtener toda la información que puedes necesitar.

Por ejemplo, supongamos que tu formulario es este:

<form enctype="multipart/form-data" action="" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    Subir este archivo: <input name="archivo" type="file" />
    <input type="submit" value="Enviar" />
</form>

En PHP tendrás una entrada $_FILES['archivo'] y a partir de ahí puedes usar $_FILES['archivo']['name'] para obtener el nombre que tenía el archivo en la computadora del visitante y $_FILES['archivo']['tmp_name'] para saber el nombre del archivo temporal en tu servidor.

Espero haberte ayudado, en todo caso, consúltame si te quedó alguna duda.

Matias
5 1