Artículos

Subir un fichero al servidor de un determinado tipo

Subir un fichero al servidor de un determinado tipo

Una pequeña modificación al anterior programa para que sólo permita subir ficheros con extensiones .gif, .jpg y .png. Además el tamaño máximo es de 5K. El segundo argumento de la función es el directorio donde queremos

<?php

function subirfichero($nombre,$directorio)

{

$ruta_fichero = "$_SERVER[DOCUMENT_ROOT]/$directorio/";

if (!is_dir("$ruta_fichero")) mkdir("$ruta_fichero",0777);

$ruta_relativa ="$directorio/";

if (eregi("gif$|jpg$|png$",$_FILES[$nombre]['name']) && $_FILES[$nombre]['size'] <52000 )

{

$name=$_FILES[$nombre]['name'];

$name = ereg_replace("[^a-z0-9._]", "",str_replace(" ", "_", str_replace("%20", "_", strtolower($name))));

$location = $ruta_fichero.$name;

copy($_FILES[$nombre]['tmp_name'],$location);

unlink($_FILES[$nombre]['tmp_name']);

$fichero = $ruta_relativa.$name;

}

return($fichero);

}

echo '<head>

<title>'.$_SERVER[PHP_SELF].'</title>

</head>

<html>

<body>';

if(isset($_POST[boton]))

{

$subido=subirfichero("mifichero","subidos");

if (!empty($fichero))

echo 'Fichero subido como '.$subido.' correctamente';

else

echo 'Ha surgido un error con el fichero';

}

echo '<form action="'.$_SERVER[PHP_SELF].'" method="post" enctype=multipart/form-data>

Fichero: <input type=file name=mifichero>

<input type="submit" name=boton value="Subir">

</form>';

echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a>";

echo '</body>

</html>';

?>