Foros del Web » Programando para Internet » PHP »

problema al subir fotos

Estas en el tema de problema al subir fotos en el foro de PHP en Foros del Web. bueno desde hace un par de dias he tenido problemas cuando los usuarios suben su foto a mi pagina, el envio se hace correctamente, se ...
  #1 (permalink)  
Antiguo 26/08/2005, 19:08
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
problema al subir fotos

bueno desde hace un par de dias he tenido problemas cuando los usuarios suben su foto a mi pagina, el envio se hace correctamente, se crea el thumbnail pero la foto la foto no se ve, nunca me habia pasado y hoy me meti al ftp y me di con la sorpresa de ke los permisos CHMOD del directorio de las imagenes habia cambiado de lo ke estaba en 777 y cada foto por defecto se ponia con permiso CHMOD 666 ero cuando vi el CHMOD de la foto con la ke empezo la falla tenia CHMOD 600 y por eso no se visualizaba, ahora tengo ke estar al tanto de ke cuando algun usuario suba su foto yo tenga ke meterme al FTP a cambiarle el permiso, alguien sabe ke se deba esa falla, yo en el script no he tocado nada, como les repito nunca me habia pasado :S

saludos
  #2 (permalink)  
Antiguo 26/08/2005, 20:43
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
? debes hacer un chmod cuando se sube la foto..
  #3 (permalink)  
Antiguo 27/08/2005, 09:46
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
hay una funcion php (no recuerdo la sintaxis) que cambia dichos permisos modifica el script apr que cuando termine de subir la foto cambie los permisos de dicha foto y listo
  #4 (permalink)  
Antiguo 27/08/2005, 09:55
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
aja se trata de la funcion chmod() y ahora mismo la voy a probar pk me la acaban de pasar

un saludo
  #5 (permalink)  
Antiguo 27/08/2005, 10:40
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
haber si alguien consigue ayudarme, con esta funcion subo las fotos a mi pagina
Código PHP:
<?
ob_start
();
include(
'config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión
if($_SESSION[level] < 1)
    {
    
Header("Location: home.php"); 
}

$max=100000
$xmax=100
$ymax=100
$nuevoDirectorio="fotos/"
function 
thumbnail($file,$dir,$ancho1,$alto1
   { 

    if(!
file_exists($dir.$file)) 
      { 
        return 
false
      } 
    if(!
is_dir($dir)) 
      { 
        return 
false
      } 
   
$a getimagesize($dir.$file); 
   
$ancho=$a['0']; 
   
$alto=$a['1']; 
   
$comprime=false
   if (
$ancho>$ancho1 || $alto>$alto1
      { 
      
$comprime=true
      } 
   if ( 
$a['0'] > $ancho1 && $a['1'] < $alto1 
      { 
      
$alto = ( $ancho1 $a['1'] ) / $a['0']; 
      
$ancho$ancho1
      } 
   else if (
$a['0'] < $ancho1 && $a['1'] > $alto1 
      { 
      
$ancho = ( $alto1 * ($a['0']) ) / $a['1']; 
      
$alto  $alto1
      } 
   else if ( 
$a['0'] > $ancho1 && $a['1'] > $alto1 
      { 
      if (
$a['0']/$a['1']>=1
         { 
         
$alto = ( $ancho1 $a['1'] ) / $a['0']; 
         
$ancho$ancho1;             
         } 
      else 
         { 
         
$ancho = ( $alto1 * ($a['0']) ) / $a['1']; 
         
$alto  $alto1
         } 
      } 
   else 
      { 
      
$ancho=$a['0']; 
      
$alto=$a['1']; 
      } 
    
$final = (int) strlen($file) - 4
    
$nombre =(substr($file,0,$final)); 
    
$ext = (substr($file,-4,4)); 
    
$nombre $nombre.$ext
    
$mini $dir."mini_".$nombre
   
$alto=ceil($alto)+1
   
$ancho=ceil($ancho)+1
    
   if (
$comprime
   { 
    if(
$ext==".jpg" || $ext==".jpeg"){ 
        
$origen  imageCreateFromJPEG($dir.$file); 
        
$imgAnchoimageSx($origen); 
        
$imgAlto imageSy($origen); 
        
$imagen  imageCreatetruecolor($ancho,$alto);
        
ImageCopyResized($imagen,$origen,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto); 
        
imageJPEG($imagen,$mini); 
    }else if(
$ext==".png"){ 
        
$origen  imageCreateFromPNG($dir.$file); 
        
$imgAnchoimageSx($origen); 
        
$imgAlto imageSy($origen); 
        
$imagen  imageCreatetruecolor($ancho,$alto); 
        
ImageCopyResized($imagen,$origen,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto); 
        
imagePNG($imagen,$mini); 
    }else if(
$ext==".gif"){ 
         
$origen  imageCreateFromGIF($dir.$file); 
        
$imgAnchoimageSx($origen); 
        
$imgAlto imageSy($origen); 
        
$imagen  imageCreatetruecolor($ancho,$alto); 
        
ImageCopyResized($imagen,$origen,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto); 
        
imagePNG($imagen,$mini); 
    } 
   } 
    return 
true

if(
$enviar
   { 
   
$file=$fichero_name
   
$ext = (substr($file,-4,4)); 
   if ((
$fichero_size $max) && (($fichero_type=="image/gif") || ($fichero_type=="image/jpeg") || ($fichero_type=="image/pjpeg") || ($fichero_type=="image/x-png"))) 
      { 
      
move_uploaded_file($fichero $nuevoDirectorio $_SESSION[usuario].$ext); 
      print
"Tu foto se envio correctamente"
      
$a getimagesize$nuevoDirectorio $_SESSION[usuario].$ext); 

      if ( ( 
$a['0']>100 ) || ( $a['1']>100 ) ) 
         { 

         
thumbnail($_SESSION[usuario].$ext,$nuevoDirectorio,$xmax,$ymax); 
         } 
       
      } 
   else 
      { 
      print
"El fichero ha de ser menor a $max bytes y ser de los tipos permitidos"
      } 
   } 
 else      { 
?> 
<style type="text/css">
<!--
* {FONT-FAMILY: 'Trebuchet MS' sans-serif; font-size: 9pt;}
body { 
overflow-x:hidden;
overflow-y:hidden;
margin: 0; 
padding: 0;
text-align: center;
}
.enviafoto {
display: block;
width: 485px;
background-image: url(fondo2.gif);
height: 25px; 
border: 1px solid #999999; 
text-align: center;
font-weight: bold;
color: #000000;
}
.tbformdata {
display: block;
width: 485px;
background-color: #eaeaea;
border-top: 1px dashed #487baf;
padding-top: 5px;
border-bottom: 1px dashed #487baf;
margin-bottom: 5px;
text-align: center;
}
.infoenvio {
display: block;
width: 480px;
padding: 5px;
text-align: justify;
}
-->
</style>
<script language="javascript">
function centrar() {
iz=(screen.width-document.body.clientWidth) / 2;
de=(screen.height-document.body.clientHeight) / 2;
moveTo(iz,de);
}
</script>
<title>:: Enviar Foto ::</title>
<body Scroll="NO" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" onunload="opener.location.reload()" onLoad="centrar()">
<div class="enviafoto">Buscar imagen a enviar</div>
<div class="infoenvio">"La imagen a enviar no debe exceder los 100 KB de peso. 
Los formatos permitidos son: <strong>jpg y png,</strong> ambos formatos en minúsculas".</div><br>
<div class="tbformdata" border="0">
  <form method="post" action="<?=$PHP_SELF?>" enctype="multipart/form-data">
    <strong>Imagen:</strong> 
    <input type="file" name="fichero"> <input type="submit" name="enviar" value="Enviar"> 
</form></div></body>
<? }

ob_end_flush(); 
?>
ahora me lio a no saber donde meter la funcion chmod() de php, para cambiar los permisos de las fotos ke se han subido a 666, ojala alguien me pueda ayudar

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:21.