Estás en: Ficheros : Subir fichero a una carpeta
La variable externa $_FILES recoge propiedades de un formulario enviado por codificación multipart/form-data.
<form ..... enctype="multipart/form-data" method="POST"...> <input type="file" name="fichero" ... /> </form>
$_FILES["nombredelcampo"]
[name]=Nombre de fichero *.jpg
[type]=Tipo de fichero img/jpg
[tmp_name]=Ruta temporal donde se deposita la información del fichero
[error]= 0/1
[size]= número de bytes
Copiar una imagen a una ruta concreta
copy ("rutaorigen", "upload/nombre_archivo");
copy ($_FILES['fichero']['tmp_name'], "upload/".$_FILES['fichero']['name'])
Esta función, al subir la imagen, si ya existe, la reemplaza.
Si queremos subir una imagen y llamarle de una forma fija, hacemos lo siguiente:
copy ("rutaorigen", "upload/foto.jpg");
Ejemplo
Mostrar un formulario, a través del cual se puede subir una foto a una carpeta
DENTRO DEL BODY
<?php
/*
$_FILES["nombredelcampo"]
[name]=Nombre de fichero *.jpg
[type]=Tipo de fichero img/jpg
[tmp_name]=Ruta temporal donde se deposita la información del fichero
[error]= 0/1
[size]= número de bytes
*/
if (!$_POST) {
?>
<form action="ficheros.php" method="post" enctype="multipart/form-data" name="formulario">
<label>Selecciona un fichero</label><br />
<input name="fichero" type="file" />
<br />
<input name="enviar" type="submit" value="Enviar" /> <!--Si no se pone name no funciona,
porque el input para el fichero no lo reconoce como name -->
</form>
<?php
}else {
echo "<pre>";
echo print_r($_FILES);
echo "</pre>";
if (copy ($_FILES['fichero']['tmp_name'], "upload/".$_FILES['fichero']['name']))
//copy ($_FILES['fichero']['tmp_name'], "upload/prueba.jpg")
//-> Sube la imagen, pero le pone el nombre "prueba"
{
echo "El fichero".$_FILES['fichero']['name']." se ha subido correctamente";
}else {
echo "El fichero no es ha podido subir";
}
}
?>