estoy un poco hartito porque llevo ya una semana y media peinando un codigo estupido que ademas me funciona en mi pc, pero al subirlo al servidor deja de rular, os explico:
el administrador de mi web tiene que ser capaz de subir imagenes a una carpeta determinada del servidor, entonces yo todo contento me hago un script html que pide los datos y los envia a un php, dentro del cual hay una funcion que se encarga de comprobar los datos y manipularlos para al final de la funcion subir la imagen al servidor y en caso de que no se pueda hacer, da un error...lo pruebo en mi pc y todo rula a la perfeccion, me sube imagenes a donde yo quiero(en mi servidor local...) pero ete aqui que lo subo al servidor para ponerlo en funcionamiento y no rula y digo, claro, la ruta, asi que la pongo absoluta, y tampoco, luego la pongo relativa (muchas veces comprobadas las rutas...) pero tampoco rula, asi que digo, vale, los permisos de las carpetas donde voy a subir las imagenes, asi que cambio los permisos a 777, pero sigue sin funcionar, con las rutas bien puestas, la sintaxis perfecta y la version 4.3.2 del php en mi servidor que me hace lo que le pido...asi que supongo que aunque la version de php del servidor al que lo subo sea posterior...deberia de tragar con la funcion que uso...bueno, aqui viene el codigo a ver que veis...
este es el script htm(envio.htm):
Código :
<html> <head> <title></title> </head> <body> <div align="center"> <form name="prueba" method="post" action="prueba_subir.php" enctype="multipart/form-data"> <input name="archivo" type="file"> <input name="maxsize" type="hidden" value="2097152"> <input type="submit" value="Enviar"> </form> </div> </body> </html>
y aqui teneis el archivo php que se encarga de la subida(prueba_subir.php):
Código :
<?php function subir_imagen($carpeta,$tipo,$tam,$nom_temp,$max_size) { echo $carpeta."<br>".$tipo."<br>".$tam."<br>".$nom_temp."<br>".$max_size."<br>"; if($tipo=="") { echo "Debes incluir una imagen"; } else if($tipo!="image/pjpeg" && $tipo!="image/gif" && $tipo!="image/jpeg" && $tipo!="image/png") { print "El formato ".$tipo." no está permitido"; } else if($tam>$max_size || $tam==0) { print "El tamaño ".$tam." excede el límite de 2Mg"; } else { if ($tipo=="image/pjpeg" || $tipo=="image/jpeg") $extension=".jpg"; else if ($tipo=="image/gif") $extension=".gif"; else $extension=".png"; srand(); $ok=false; while(!$ok) { $numero=rand(0,9999); $nuevonombre="imagenes/".$carpeta."/".$numero.$extension; if(!file_exists($nuevonombre)) $ok=true; } if(!move_uploaded_file($nom_temp,$nuevonombre)) echo "error moviendo archivo :(<br>"; else return $nuevonombre; } } $var=subir_imagen(prueba,$_FILES['archivo']['type'],$_FILES['archivo']['size'],$_FILES['archivo']['tmp_name'],$_POST['maxsize']); ?>
para hacer rular este codigo copiadlo en vuestro servidor en una carpeta (yo la llame prueba) y dentro de ella copiar los dos archivos (htm, php) y crear a parte una carpeta llamada imagenes, y dentro de esta otra carpeta llamada prueba y en local estoy MUY seguro de que os rulara, pero en remoto, a mi no...asi que si alguien tiene una idea...o consiga hacerlo funcionar en remoto, que me pase los archivos modificados y que pegue el codigo "bueno" como respuesta a este tema.
muchisimas gracias por adelantado
atentamente
maije

