Foros del Web » Programando para Internet » PHP »

problema con imagenes

Estas en el tema de problema con imagenes en el foro de PHP en Foros del Web. hola a todos, bueno tengo mi script para ke los usuarios de mi web suban sus fotos a mi pagina y bien hasta hace una ...
  #1 (permalink)  
Antiguo 31/08/2005, 17:29
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
problema con imagenes

hola a todos, bueno tengo mi script para ke los usuarios de mi web suban sus fotos a mi pagina y bien hasta hace una semana me funcionaba perfectamente, pero desde hace unos dias cuando un usuario sube su foto esa no se le muestra, simplemente le aparece una X roja y cuando entre al ftp para ver si estaba la imagen ahi, pues vi ke si estaban pero con los permisos chmod cambiados a 620 de estar antes en 777 y ese es el problema de ke ahora no se puedan ver las imagenes, en otro foro me dijeron ke usara la funcion chmod() de php para cambiarle los permisos dinamicamente una vez subida la imagen al servidor, pero mi problema es ke no se como usar dicha funcion, alguien me podra decir como hacerlo, aki pongo el scrip de envio de imagenes:

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(); 
?>
espero ke alguien me pueda echar una mano, se lo agradecere mucho

saludos
  #2 (permalink)  
Antiguo 31/08/2005, 17:38
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Checa bien esta: http://mx2.php.net/chmod
  #3 (permalink)  
Antiguo 31/08/2005, 17:43
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
ahi esta mi dilema, ke no se en ke parte de mi script debo poner dicha funcion :S
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 14:16.