Estoy haciendo una pequeña aplicación Web con Php5, y estoy usando el IIS de Microsoft (si ya se, lo siento, pero es lo que tiene el usuario ), y estoy haciendo un formulario con un campo 'file' para que pueda subir una foto. Hasta ahora funciona de maravilla en Apache, pero cuando intento correrlo en el IIS solamente no funciona, queda pensando hasta que se acaba el tiempo de sesión.
Aquí el código:
El formulario
Código :
<form id="buzonForm" method="post" action="?mod=enviar_mi_testimonio" onsubmit="return validate()" enctype="multipart/form-data"> <table id="buzonTable" class="tableForm" > ...más codigo... <tr> <td class="label"><label for="foto">Foto (5MB max)</label></td> <td><input type="file" id="foto" name="foto" class="text large"/></td> </tr> ...más codigo... </form>
La accion
Código :
$_foto = $_POST['foto']; $foto_nombre = $HTTP_POST_FILES['foto']['name']; $foto_tipo = $HTTP_POST_FILES['foto']['type']; $foto_tamanio = $HTTP_POST_FILES['foto']['size']; $tipo = substr($foto_tipo, strrpos($foto_tipo, "/")+1); $foto_final = ""; if($foto_nombre) { $foto_final = $_nombre." ".$_apellidos.".".$tipo; if (!((stripos($foto_tipo, "gif") || stripos($foto_tipo, "jpeg") || stripos($foto_tipo, "png") || stripos($foto_tipo, "jpg")) && ($foto_tamanio < 5*1024*1024))) { echo "<b><font color='black'>¡La extensión o el tamaño de los archivos no es correcta! Presiona el botón Atrás de tu explorador e intenta de nuevo</font></b><br>"; }else{ if (!move_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'], 'resources/testimonios/fotos'.$foto_final)) { echo "<b><font color='black'>Ocurrió algún error al subir el fichero. No pudo guardarse. Presiona el botón Atrás de tu explorador e intenta de nuevo</font></b><br>"; } } }
Como ya les comenté, funciona muy bien con Apache, pero no con el IIS, recuerdo que con JSP tuve el mismo porblema para guardar archivos que funcionaba bien con Tomcat, pero en el IIS tenía que escribir el path de distinta forma para poder guardar el archivo, con PHP no se que pueda ser.
Gracias por la ayuda...