Disculpas, ni lo habia visto al formulario
Tu codigo funciona muy bien solo habia que ordenarlo, y agregarle unas pequeñas cosas, lo cual hice... y mejor te devuelvo todo el codigo con esos pequeños cambios:
Verifica que uno de los codigos es
javaScript, no php; y otro si php (el upload)
Crea un archivo php y mete todo esto, solo ejecutalo, carga una imagen (con el boton examinar), y el codigo hara todo lo demas... la imagen sera subida al mismo directorio donde este este script...
Al documento nuevo no le abras ni cierres etiquetas, solo mete el codigo y listo
Luego hazle las modificaciones que te interesen:
Código PHP:
<!-- Esto reemplaza a tu simple etiqueta <script> -->
<script type="text/javascript" language="javascript">
<!--
function comprueba_extension(formulario, archivo) {
//alerts para que vea lo que te muestra y lo analices
alert(formulario);
alert(archivo);
extensiones_permitidas = new Array(".gif", ".jpg", ".doc", ".pdf");
mierror = "";
if (!archivo) {
//Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
mierror = "No has seleccionado ningún archivo";
}else{
//recupero la extensión de este nombre de archivo
extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
//alert (extension);
//compruebo si la extensión está entre las permitidas
permitida = false;
for (var i = 0; i < extensiones_permitidas.length; i++) {
if (extensiones_permitidas[i] == extension) {
permitida = true;
break;
}
}
if (!permitida) {
mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
}else{
//submito!
alert ("Todo correcto. Voy a submitir el formulario.");
//a esta linea le faltaba "document"
document.formulario.submit();
return 1;
}
}
//si estoy aqui es que no se ha podido submitir
alert (mierror);
return 0;
}
-->
</script>
<!--
"this.form.name" contiene el nombre del formulario
"this.form[0].value" contiene la ruta del archivo a subir
-->
<form name="formulario" enctype="multipart/form-data" method="POST" action="">
<input type="file"
name="archivo"
id="archivo"
onchange="comprueba_extension(this.form.name,this.form[0].value)"><br>
<!-- <input type="submit" value="Enviar"> -->
</form>
<?php
//echo "Se subira ". $_FILES['archivo']['name'];
//$ruta = "./imagenes/" . $_FILES['archivo']['name'];
$ruta = $_FILES['archivo']['name'];
$r=copy($_FILES['archivo']['tmp_name'], $ruta);
if($r){
echo "La imagen subio correctamente";
}
?>