Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2010, 05:38
victorfz
 
Fecha de Ingreso: abril-2002
Mensajes: 186
Antigüedad: 22 años
Puntos: 2
Upload de imagenes con PHP

Hola en una web que en el server local me funciona OK me falla el upload de fotos.
Por lo visto en el error veo que el problema es que no llega a subir la foto al directorio temporal y por tanto el error lo da al intentar mover el fichero.
Como dije en el título todo funciona bien en mi server de desarrollo bajo Windows pero me falla en el servidor de explotación (hosting).


Este es el error
Warning: move_uploaded_file(imagesTemp/47.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/s10d225e/public_html/catalogo.php on line 390

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpMl33Bc' to 'imagesTemp/47.jpg' in /home/s10d225e/public_html/catalogo.php on line 390


Gracias de antemano.
Un saludo.


Función para redimensionar fotos

Código PHP:
function redimensionar($type$img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad


    
$defecto 'img/defecto.jpg'

    if(
file_exists($img_original)) 
    { 

        
// crear imagen desde original 
        
$type=strtolower($type); 
        switch(
$type
        { 
            case 
'jpeg':    $img ImageCreateFromJPEG($img_original); break; 
            case 
'jpg':     $img ImageCreateFromJPEG($img_original); break; 
            case 
'png':     $img ImageCreateFromPNG($img_original); breaK; 
            case 
'gif':     $img ImageCreateFromGIF($img_original); breaK; 
            case 
'wbmp':    $img ImageCreateFromWBMP($img_original); break; 
            default:        
$img ImageCreateFromJPEG($defecto);    break; 
        } 

    }
    else 
    { 
            
$img ImageCreateFromJPEG($defecto);  
    }


    if(!empty(
$img)) 
    { 


            
$new_w_R ImageSX($img); 
            
$new_h_R ImageSY($img); 

            
//$img_nueva_altura = 50; 


            // se calcula la relación alto/ancho 
            
$aspect_ratio $new_h_R/$new_w_R

            
// se ajusta al nuevo tamaño 
            
$img_nueva_altura abs($img_nueva_anchura $aspect_ratio); 

            
// crear imagen nueva 
            
$thumb ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura); 

            
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño 
            
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img)); 

            
// guardar la imagen redimensionada donde indica $img_nueva 
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad); 
            global 
$fotoFinal;
            
$fotoFinal=$img_nueva;
        }



Código que me da el error
catalogo.php
Código PHP:
            //upload
            
if( $HTTP_POST_FILES['Foto']['name'])//comprueba si se ha puesto foto
            
{

                
//tomo el valor de un elemento de tipo texto del formulario 
                //$cadenatexto = $_POST["cadenatexto"]; 
                //echo "<p>Empezamos con el upload</p>"; 
                
                //datos del arhivo 
                
$nombre_archivo $HTTP_POST_FILES['Foto']['name']; 
                
//echo "nombre $nombre_archivo";
                
$tipo_archivo =$HTTP_POST_FILES['Foto']['type']; 
                
//echo "--typo $tipo_archivo";
                
$tamano_archivo $HTTP_POST_FILES['Foto']['size']; 
                
//echo "--tamaño $tamano_archivo";
                //compruebo si las características del archivo son las que deseo 
                
if (!( strpos($tipo_archivo"jpeg")) && ($tamano_archivo 300000))
                { 
                    echo 
"<p>La extensión o el tamaño de los archivos no es correcta. <br>
                    Solo se permiten archivos .jpg<br>
                    Se permiten archivos de 1Mb  máximo.</p>"

                }
                else
                { 
                    if (
move_uploaded_file($HTTP_POST_FILES['Foto']['tmp_name'], "imagesTemp/$_POST[Id].jpg")){ 
                       echo 
"<p>La foto ha sido cargada correctamente.</p>";
                       
                       
//redimensionamos la foto
                       
if(file_exists("imagesTemp/$_POST[Id].jpg"))
                       {
                               
mensaje("la foto imagesTemp/$_POST[Id].jpg si que existe en el temporal");
                       }
                        
redimensionar("jpg","imagesTemp/$_POST[Id].jpg","imagenescatalogo/familia-led-p$_POST[Id].jpg",150,150,100);
                        if(
file_exists("imagesTemp/$_POST[Id].jpg"))
                        {
                            
unlink("imagesTemp/$_POST[Id].jpg");
                        }
                       
//FINredimensionamos la foto
                       
                    
}else
                    { 
                       echo 
"<p>Ocurrió algún error al subir la foto. No pudo guardarse.</p>"
                    }
                }
                
            }
            
//FIN upload