Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2012, 17:28
Avatar de bichomen
bichomen
 
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Problemas al subir imagen con move_uploaded_file()

Desde que cambie de hosting llevo bastante tiempo teniendo este problema al subir imagenes, que no me sube la imagen, pongo el código a continuación:

subir_imagen_comic.php:
Código PHP:
<?php
    
include('../../conexion.php');
    include(
'../../funciones.php');
    
    function 
insertar_imagen_comic($comic,$idcoleccioncomic,$id,$foto,$tipop,$tipog,$tamanop,$tamanog)
    {
        
$sql "update comics set portada = '".$foto."', p_portada = 'p_".$foto."' where id = ".$id." and idcoleccioncomic = ".$idcoleccioncomic;    
        
$sql1 "insert into imagenes values('','".$comic."',".$id.",'p_".$foto."','".$tipop."',".$tamanop.")";
        
$sql2 "insert into imagenes values('','".$comic."',".$id.",'".$foto."','".$tipog."',".$tamanog.")";
        
        
mysql_query($sql) or die("SQL Insertar_imagen_comic: ".mysql_error());
         
mysql_query($sql1) or die("SQL Insertar_imagen_comic 1: ".mysql_error());    
        
mysql_query($sql2) or die("SQL Insertar_imagen_comic 2: ".mysql_error());        
    }
?>

<link href="../../estilos.css" rel="stylesheet" type="text/css">

<?php
    
if($_GET['valor'] == 1)
    {
        
$idcoleccioncomic $_GET['idcoleccioncomic'];
        
$id $_GET['id'];
        
$comic $_GET['comic'];
        
/*$foto_name = $HTTP_POST_FILES['imagen']['name'];
        $nombre_temporal = $HTTP_POST_FILES['imagen']['tmp_name'];
        $tipo_archivo = $HTTP_POST_FILES['imagen']['type'];
        $tamano_archivo = $HTTP_POST_FILES['imagen']['size'];*/
        
        
        
$foto_name $_FILES['imagen']['name'];
        
$nombre_temporal $_FILES['imagen']['tmp_name'];
        
$tipo_archivo $_FILES['imagen']['type'];
        
$tamano_archivo $_FILES['imagen']['size'];
        
        if(
is_uploaded_file($nombre_temporal)) 
        {
            
$ruta $_SERVER['DOCUMENT_ROOT']."/comic/".$comic."/".$foto_name;
            
//$ruta = "httpdocs/comic/".$comic."/".$foto_name;
            //$ruta = "comic/".$comic."/".$foto_name;
            //copy($nombre_temporal, $ruta);
            
            
echo "RUTA: ".$ruta;
            
            
move_uploaded_file($nombre_temporal$ruta);
                                                
            
$imagen $foto_name;    
                    
            include(
'funcion_subir_imagen_comic.php');
        
            
$foto obtenerTamanoImagen($comic,$imagen);    
            echo 
"FOTO: ".$foto;    
            
            
$tamano filesize($foto);
            
$tipo mime_content_type($foto);    
        }
?>

<table width="100%" height="100%">
<tr><td class="letracontenido" align="center">

    Portada:<br />
    <img src="<?php echo $foto?>" border="0"><br />
    &nbsp;<br />
    
    <p align="center"><a href="subir_imagen_comic.php?valor=2&idcoleccioncomic=<?php echo $idcoleccioncomic?>&id=<?php echo $id?>&comic=<?php echo $comic?>&foto=<?php echo $imagen?>&foto_peque=<?php echo $foto?>&tamanop=<?php echo $tamano?>&tamanog=<?php echo $tamano_archivo?>&tipop=<?php echo $tipo?>&tipog=<?php echo $tipo_archivo?>">Ok</a></p>   
    
</td></tr>
</table>

<?php
    
}
    else if(
$_GET['valor'] == 2)
    {
        
$idcoleccioncomic $_GET['idcoleccioncomic'];
        
$id $_GET['id'];
        
$comic =$_GET['comic'];
        
$foto $_GET['foto'];
        
$foto_peque $_GET['foto_peque'];
        
$tipop $_GET['tipop'];
        
$tipog $_GET['tipog'];
        
$tamanop $_GET['tamanop'];
        
$tamanog $_GET['tamanog'];        

        
insertar_imagen_comic($comic,$idcoleccioncomic,$id,$foto,$tipop,$tipog,$tamanop,$tamanog);        
?>

<table width="100%" height="100%">
<tr><td class="letracontenido" align="center">

    <span class="negrita"><a href="#" onClick="window.close()">Cerrar</a></span>
    
</td></tr>
</table>

<?php    
    
}
    else
    {        
?>

<table width="100%" height="100%" border="0">
<tr><td align="center" valign="middle">

    <form name="sic" action="subir_imagen_comic.php?valor=1&idcoleccioncomic=<?php echo $_GET['idcoleccioncomic']; ?>&id=<?php echo $_GET['id']; ?>&comic=<?php echo $_GET['comic']; ?>" method="post" enctype="multipart/form-data">

        <input type="file" name="imagen">&nbsp;<input type="submit" name="submit" value="Subir imagen">

    </form>

</td></tr>
<tr><td class="letracontenido" align="center">

    <span class="negrita"><a href="#" onClick="window.close()">Cerrar</a></span>
    
</td></tr>
</table>

<?php
    
}
?>

funcion_subir_imagen_comic.php:
Código PHP:
<?php
    
function obtenerTamanoImagen($comic,$imagen
    { 
        
$dir_thumb "comic/".$comic."/";
        
$prefijo_thumb "p_";
        
$nombre $imagen;
        
$camino "comic/".$comic."/";
        
        if (!
file_exists($dir_thumb.$prefijo_thumb.$nombre)) 
        {
            
$img imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>");
        
            
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>");
        
            
$anchura "100";
            
$ratio = ($datos[0] / $anchura);
            
$altura round($datos[1] / $ratio);
        
            
$thumb imagecreatetruecolor($anchura,$altura);
            
            
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);
            
            
imagejpeg($thumb,$dir_thumb.$prefijo_thumb.$nombre);
            
            
$ruta $dir_thumb.$prefijo_thumb.$nombre;
            
            return 
$ruta;
        }
    }        
?>
Me devuelve:

Cita:
RUTA: /var/www/vhosts/bichomen.com/httpdocs/comic/mortadeloyfilemon/MyF188.jpg
No se encuentra la imagen comic/mortadeloyfilemon/MyF188.jpg
Desde luego en /var/www/vhosts/bichomen.com/httpdocs/comic/mortadeloyfilemon/ no se encuentra la imagen subida.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332