Es algo así el formulario:
Código PHP:
<form action="tu_script.php" method="post" enctype="multipart/form-data">
Archivo: <input name="fichero" type="file">
<input name="submit" type="submit" value="Subir archivo">
</form>
Y algo así en el script de recogida de información del fichero
Código PHP:
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { //// verifica haya sido cargado el archivo
if((($_FILES['fichero']['type']=="image/png")||($_FILES['fichero']['type']=="image/x-png"))&&($_FILES['fichero']['size'] <= 25000)) {// Proseguimos solo si se trata de un PNG y tiene un tamaño inferior a 25.000 bytes
$ruta= "tu_ruta".$nombre_del_archivo.".png"; // Se guardaría dentro de "carpeta" con el nombre original
if (file_exists($ruta)) {
unlink($ruta); //esto borra el archivo si ya existe
}
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta)) { // se coloca en su lugar final
chmod($ruta, 0666); //se quitan los permisos de ejecución para que no te suban cosas raras
header("Location: subir_bandera.php?i=52");
}
} else { mensaje de erro no se ha podido subir}
} else { mensaje de erro no se ha podido subir}
}
Yo en mi página lo tengo montado más o menos así y me funciona. Espero que te sirva, es posible que tengas que acomodar algunas cosas, sin embargo, he visto por ahí que hay muy buenos scripts sobre el tema este pero no me apetece buscar.