tengo una aplicacion para venta de imagenes en gran formato, y tengo un plugin de jquery para la carga de imagenes que es http://demo.tutorialzine.com/2011/09/html5-file-upload-jquery-php/ y permite subir varias imagenes a la ves.
el codigo de php que procesa la imagen es
Código PHP :
function guardarArchivo($idEvento) { // $nombre = $archivo; if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){ return 'Error No se permite subir la imagen por favor intente de nuevo'; } $sql="select id_imagen from imagenes order by id_imagen desc"; $this->consulta($sql); if($this->numr>0) { $num = $this->rowresult[0]["id_imagen"]+rand(0,18); } else { $num =1; } // $allowed_ext = array('jpg','jpeg','png','gif'); if(array_key_exists('pic',$_FILES) && $_FILES['pic']['error'] == 0 ) { $pic = $_FILES['pic']; $numero = $num."".rand(0,100); //echo "filee == = == ".$_FILES["archivo"]["error"]; $nombreDestinoG = "../../_galerias/img/img_".$numero.".".$this->extension($pic["name"]); $nombreDestinoP = "../../_galerias/imgp/img_".$numero.".".$this->extension($pic["name"]); move_uploaded_file($pic['tmp_name'], $nombreDestinoG); $peque = new thumb(); $peque->loadImage($nombreDestinoG); $peque->resize(300,"width",$nombreDestinoG); $peque->save($nombreDestinoP); $this->marcarAgua($nombreDestinoP); //echo $sql="insert into imagenes values (\"\",\"".$idEvento."\",\"".$nombreDestinoP."\",\"".$nombreDestinoG."\")"; $this->execute("insert into imagenes values (\"\",\"".$idEvento."\",\"".$nombreDestinoP."\",\"".$nombreDestinoG."\")") ; return "ok"; } else { return "Ha ocurrido un porblema con la imagen ".$_FILES['pic']['error']." por favor intente de nuevo"; } }
el problema esta en que con alguna imagenes el servidor me responde error 404 o error 500, pero de un conjunto de imagenes 5, 10 o 20 puede haber 1, 2, o mas imagenes que produscan el error, incluso en ocasiones no hay ninguna y modulo funcionan a la perfeccion.
el problema es que se suben lotes grandes de imagenes y no se sabe cuantas y cuales producen el error. la preguntas son por que se producen estos errores y como puedo solucionarlos
gracias