Foros del Web » Programando para Internet » PHP »

Problemas con imágenes

Estas en el tema de Problemas con imágenes en el foro de PHP en Foros del Web. Buenas, tengo un problemillas con el tema de las imágenes y os agradecería que me echarais una mano. Os detallo el caso. Tengo un portal ...
  #1 (permalink)  
Antiguo 11/10/2009, 04:32
 
Fecha de Ingreso: noviembre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Problemas con imágenes

Buenas, tengo un problemillas con el tema de las imágenes y os agradecería que me echarais una mano.
Os detallo el caso.

Tengo un portal tipo clasificados o directorio, que cuenta con acceso de usuarios para que gestionen sus datos y las fotografías.

Los usuarios pueden entrar sin problemas y cambiar su información perfectamente, pero con el tema de las imágenes es otro cantar ya que no pueden subir ninguna foto.

Yo, desde el administrador, no tengo ningún problema en subir y eliminar las fotos.

A bote pronto me podríais indicar cosas que podría mirar para encontrar el fallo.

Un saludo
  #2 (permalink)  
Antiguo 11/10/2009, 06:04
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Problemas con imágenes

Si nos pudieses postear el código que procesa las imágenes desde donde suben los usuarios las fotos... es que, no creo que se puedan dar suposiciones así a lo loco, ya que nos has dicho ni que servidor usas, ni que lenguajes...nada.
Explicate mejor y, si es posible, postea el código.

Un Saludo!
__________________
Neversyn Software e Ingeniería
  #3 (permalink)  
Antiguo 11/10/2009, 08:07
 
Fecha de Ingreso: noviembre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problemas con imágenes

Buenas,

Disculpar que no os haya ofrecido más información.

Información del Servidor:
- Sistema Operativo: Linux
- Versión Perl:5.10.0
- Versión PHP:5.1.6
- Versión MySQL :5.0.45-log


Código de la página del panel de usuario para subir fotos:

Código HTML:
<div class="formulario_alta">
      
     		<?php 
	    	$nombre_archivo = $HTTP_POST_FILES['form_imagen']['name'];
      	$tipo_archivo = $HTTP_POST_FILES['form_imagen']['type'];
      	$tamano_archivo = $HTTP_POST_FILES['form_imagen']['size'];
      	$archivo=$HTTP_POST_FILES['form_imagen']['tmp_name'];
      	if($alta) {
	    		if(($tipo_archivo=="image/jpeg" || $tipo_archivo=="image/gif" || $tipo_archivo=="image/png") && tamano_archivo<2296000) {
	      	 	$numero = rand(10000000,99999999);
		   		$extension = strtolower(end(explode('.', $nombre_archivo)));
		    		$imagen=$numero.".".$extension;
		    		$imagenb=$numero."_b.".$extension;
		    		$imagenc=$numero."_c.".$extension;
		    		$imagend=$numero."_d.".$extension;
		    		$imagene=$numero."_e.".$extension;
			 		subimos($archivo,$imagen,"imagenesbd");
			  		subimos($archivo,$imagenb,"imagenesbd");
			  		subimos($archivo,$imagenc,"imagenesbd");
			  		subimos($archivo,$imagend,"imagenesbd");
			  		subimos($archivo,$imagene,"imagenesbd");
			  		unlink($archivo);
			  		thumb("imagenesbd/$imagen",600,600,95);
			  		thumb("imagenesbd/$imagenb",320,240,95);
			 		thumb("imagenesbd/$imagenc",165,124,95);
			 		thumb("imagenesbd/$imagend",142,107,95);
			  		thumb("imagenesbd/$imagene",100,75,95);
			 	   $nuevo=array('',$id_casa,$id_propietario,$imagen,$imagenb,$imagenc,$imagend,$imagene,$tx_es,$tx_en,0);
			  	   altabd($nuevo,fotos);
		    	 }
		    }
	   	if($alta_video) {
		     $nuevo=array('',$id_casa,$id_propietario,$codigo,$nombre);
			  altabd($nuevo,videos);
	      }
	      if($modificar_foto) {
	    		if($archivo) {
		      $numero = rand(10000000,99999999);
		      $extension = strtolower(end(explode('.', $nombre_archivo)));
		      $imagen=$numero.".".$extension;
		    	$imagenb=$numero."_b.".$extension;
		    	$imagenc=$numero."_c.".$extension;
		    	$imagend=$numero."_d.".$extension;
		    	$imagene=$numero."_e.".$extension;
			  	subimos($archivo,$imagen,"imagenesbd");
			  	subimos($archivo,$imagenb,"imagenesbd");
			  	subimos($archivo,$imagenc,"imagenesbd");
			  	subimos($archivo,$imagend,"imagenesbd");
			  	subimos($archivo,$imagene,"imagenesbd");
			  	unlink($archivo);
			  	thumb("imagenesbd/$imagen",600,600,95);
			  	thumb("imagenesbd/$imagenb",320,240,95);
			  	thumb("imagenesbd/$imagenc",165,124,95);
			  	thumb("imagenesbd/$imagend",142,107,95);
			  	thumb("imagenesbd/$imagene",100,75,95);
			   	$link=Conectarse();
			   	$re=mysql_db_query($bd,"select * from fotos where id_foto='$id_foto'",$link);
	        while($li=mysql_fetch_array($re)) {
	          borrararchivob($li[foto], imagenesbd);
	          borrararchivob($li[fotob], imagenesbd);
	          borrararchivob($li[fotoc], imagenesbd);
	          borrararchivob($li[fotod], imagenesbd);
	          borrararchivob($li[fotoe], imagenesbd);
	        }
			   }
		     $nuevo=array($id_foto,$id_casa,$id_propietario,$imagen,$imagenb,$imagenc,$imagend,$imagene,$tx_es,$tx_en,$principal);
         bajabd(id_foto,$id_foto,fotos);			  
			   altabd($nuevo,fotos);
	     }
	    if($borrar) {
	     $link=Conectarse();
	     $re=mysql_db_query($bd,"select * from fotos where id_foto='$borrar'",$link);
	     while($li=mysql_fetch_array($re)) {
	       borrararchivob($li[foto], imagenesbd);
	       borrararchivob($li[fotob], imagenesbd);
	       borrararchivob($li[fotoc], imagenesbd);
	       borrararchivob($li[fotod], imagenesbd);
	       borrararchivob($li[fotoe], imagenesbd);
	       bajabd(id_foto,$borrar,fotos);
	      }
	    }
	    if($modificar) {
	     $link=Conectarse();
	     mysql_db_query($bd,"update fotos set principal='0' where id_casa='$id_casa'",$link);
	     mysql_db_query($bd,"update fotos set principal='1' where id_foto='$principal'",$link);
	    }
	    $link=Conectarse();
	    $res=mysql_db_query($bd,"select nombre from casas where id_casa='$id_casa'",$link);
	    $lin=mysql_fetch_array($res);
	    			
		 ?>
     <h4>Añadir foto a <?php echo $lin[nombre]; ?></h4>
     <form action="" method="post" name="formulario" enctype="multipart/form-data">
     <input type="hidden" name="alta" value="1" />
		 <input type="hidden" name="id_casa" value="<? echo $id_casa; ?>" />
     <p class="formulario_alta_tx">Introduce la fotografía y su descripción</p>
     <div class="formulario_alta_campo">
     		<label for="form_imagen" style="width:120px;">Foto:</label><input type="file" name="form_imagen" id="form_imagen" class="formulario_alta_input" />
     </div>
     <div class="formulario_alta_campo">
     		<label for="titulo_es" style="width:120px;">Título: </label><input type="text" name="tx_es" id="titulo_es" class="formulario_alta_input" />
     </div>
     <div class="formulario_alta_campo">
     <br />
     <input type="submit" value="Enviar" class="formulario_alta_input" style="width:80px;" />
     </div>
    
     </form> 
A ver si con esta información podeis comentarme algo.

Un saludo y muchas gracias por vuestra ayuda.
  #4 (permalink)  
Antiguo 11/10/2009, 08:21
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Problemas con imágenes

Mmm... entonces a ver, desde ese mismo script tu, siendo admin, si puedes subir?? Porque si es así, significa que hay errores de privilegios en lo que es el script php, pero si es desde otro script, puede ser lo mismo pero privilegios de linux...en principio, lo que he visto del código está bien.,..
__________________
Neversyn Software e Ingeniería
  #5 (permalink)  
Antiguo 12/10/2009, 08:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problemas con imágenes

Hola zeuslife,

Ante todo muchas gracias por tu ayuda!!

En el panel de administración yo dispongo del siguiente código (cambia un poco del que tiene el usuario):

Código HTML:
<?php
$link=Conectarse();
$ri=mysql_db_query($bd,"select id_casa from casas where activo='1'",$link);
$alojamientos=mysql_num_rows($ri);
$ri=mysql_db_query($bd,"select id_foto from fotos",$link);
$fotosalojamientos=mysql_num_rows($ri);
$ri=mysql_db_query($bd,"select id_video from videos",$link);
$videosalojamientos=mysql_num_rows($ri);
$ri=mysql_db_query($bd,"select id from comentarios",$link);
$comentarios=mysql_num_rows($ri);
?>

	<?php echo $alojamientos; ?> alojamientos<br />
	<?php echo $fotosalojamientos; ?> fotos<br />
	<?php echo $videosalojamientos; ?> videos<br />
	<?php echo $comentarios; ?> opiniones<br />
</div>
</div>
  <div class="contenido">
    <? include("opcion_opciones.php"); ?>
    <div id="decha">
    	<div class="anuncios">
      <?
	    $nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
       $tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
       $tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
       $archivo=$HTTP_POST_FILES['userfile']['tmp_name'];
	    if($alta && $archivo) {
		    $numero = rand(10000000,99999999);
		    $extension = strtolower(end(explode('.', $nombre_archivo)));
		    $imagen=$numero.".".$extension;
		    $imagenb=$numero."_b.".$extension;
		    $imagenc=$numero."_c.".$extension;
		    $imagend=$numero."_d.".$extension;
		    $imagene=$numero."_e.".$extension;
			  subimos($archivo,$imagen,"../imagenesbd");
			  subimos($archivo,$imagenb,"../imagenesbd");
			  subimos($archivo,$imagenc,"../imagenesbd");
			  subimos($archivo,$imagend,"../imagenesbd");
			  subimos($archivo,$imagene,"../imagenesbd");
			  unlink($archivo);
			  thumb("../imagenesbd/$imagen",600,600,95);
			  thumb("../imagenesbd/$imagenb",320,240,95);
			  thumb("../imagenesbd/$imagenc",165,124,95);
			  thumb("../imagenesbd/$imagend",142,107,95);
			  thumb("../imagenesbd/$imagene",100,75,95);
			  $nuevo=array('',$id_casa,$id_propietario,$imagen,$imagenb,$imagenc,$imagend,$imagene,$tx_es,$tx_en,0);
			  altabd($nuevo,fotos);
	     }
	    if($alta_video) {
		    $nuevo=array('',$id_casa,$id_propietario,$codigo,$titulo_es,$titulo_en);
			  altabd($nuevo,videos);
	     }
	    if($modificar_foto) {
	       if($archivo) {
		      $numero = rand(10000000,99999999);
		      $extension = strtolower(end(explode('.', $nombre_archivo)));
		      $imagen=$numero.".".$extension;
		    	$imagenb=$numero."_b.".$extension;
		    	$imagenc=$numero."_c.".$extension;
		    	$imagend=$numero."_d.".$extension;
		    	$imagene=$numero."_e.".$extension;
			  	subimos($archivo,$imagen,"../imagenesbd");
			  	subimos($archivo,$imagenb,"../imagenesbd");
			  	subimos($archivo,$imagenc,"../imagenesbd");
			  	subimos($archivo,$imagend,"../imagenesbd");
			  	subimos($archivo,$imagene,"../imagenesbd");
			  	unlink($archivo);
			  	thumb("../imagenesbd/$imagen",600,600,95);
			  	thumb("../imagenesbd/$imagenb",320,240,95);
			  	thumb("../imagenesbd/$imagenc",165,124,95);
			  	thumb("../imagenesbd/$imagend",142,107,95);
			  	thumb("../imagenesbd/$imagene",100,75,95);
			   	$link=Conectarse();
			   	$re=mysql_db_query($bd,"select * from fotos where id_foto='$id_foto'",$link);
	        while($li=mysql_fetch_array($re)) {
	          borrararchivo($li[foto], imagenesbd);
	          borrararchivo($li[fotob], imagenesbd);
	          borrararchivo($li[fotoc], imagenesbd);
	          borrararchivo($li[fotod], imagenesbd);
	          borrararchivo($li[fotoe], imagenesbd);
	        }
			   }
		     $nuevo=array($id_foto,$id_casa,$id_propietario,$imagen,$imagenb,$imagenc,$imagend,$imagene,$tx_es,$tx_en,$principal);
         bajabd(id_foto,$id_foto,fotos);			  
			   altabd($nuevo,fotos);
	     }
	    if($borrar) {
	     $link=Conectarse();
	     $re=mysql_db_query($bd,"select * from fotos where id_foto='$borrar'",$link);
	     while($li=mysql_fetch_array($re)) {
	       borrararchivo($li[foto], imagenesbd);
	       borrararchivo($li[fotob], imagenesbd);
	       borrararchivo($li[fotoc], imagenesbd);
	       borrararchivo($li[fotod], imagenesbd);
	       borrararchivo($li[fotoe], imagenesbd);
	       bajabd(id_foto,$borrar,fotos);
	      }
	    }
	    if($borrarvideo) {
	       bajabd(id_video,$borrarvideo,videos);
	    }
	    if($modificar) {
	     $link=Conectarse();
	     mysql_db_query($bd,"update fotos set principal='0' where id_casa='$id_casa'",$link);
	     mysql_db_query($bd,"update fotos set principal='1' where id_foto='$principal'",$link);
	    }
	    $link=Conectarse();
	    $res=mysql_db_query($bd,"select nombre from casas where id_casa='$id_casa'",$link);
	    $lin=mysql_fetch_array($res);
	    ?>
	    </div>
      <div id="formulario">
       <form action="modificar_fotos.php" method="post" enctype="multipart/form-data">
        <input type="hidden" name="alta" value="1" class="no_style" /> 
        <input type="hidden" name="id_propietario" value="<?php echo $id_propietario; ?>" class="no_style" /> 
        <input type="hidden" name="id_casa" value="<?php echo $id_casa; ?>" class="no_style" /> 
        <fieldset>
          <legend>Añadir foto a <? echo $lin[nombre]; ?></legend>
          <br />
          
          <label for="foto">Foto:</label>
          <input id="foto" type=file name="userfile" /><br />
          
          <label for="tx_es">Título (es): </label>
          <input id="tx_es" type="text" name="tx_es" /><br />
          
          <label for="tx_en">Título (en):</label>
          <input id="tx_en" type="text" name="tx_en" /><br />
          
          <br />
          <input class="submit margen" type="submit" value="Guardar" />
          <br /><br />
          </fieldset>
       </form>
       <?php
		 	 $re=mysql_db_query($bd,"select * from fotos where id_casa='$id_casa' order by principal DESC, id_foto",$link);
		 	 if(mysql_num_rows($re)>0) {
		   ?>
		   <form action="" method="post" name="formulario">
		   <input type="hidden" name="modificar" value="1" class="no_style" />
		 	 <input type="hidden" name="id_casa" value="<? echo $id_casa; ?>" class="no_style" />
		 	 <input type="hidden" name="id_propietario" value="<? echo $id_propietario; ?>" class="no_style" />
       <fieldset>
			 <legend>Fotos de <? echo $lin[nombre]; ?></legend>
			 <table cellspacing="0" cellpadding="0" align="center">
			 <tr>
				<th>Principal</th>
				<th colspan="4"></th>
			 </tr>
			 <?php
		 		while($li=mysql_fetch_array($re)) {
		 	 ?>
		 	 <tr>
           <td width="40"><input type="radio" name="principal" value="<? echo $li[id_foto]; ?>" <? if($li[principal]==1) { print("checked"); } ?>  onChange="this.form.submit();"></td>		 
           <td width="100"><? if($li[fotoe]!="") { print("<img src=\"../imagenesbd/$li[fotoe]\" height=\"40\" alt=\"\">"); } ?></td>
           <td><? echo $li[tx_es] ?></td>
           <td width="24"><a href="modificar_foto.php?<? print("id=$li[id_foto]&id_casa=$id_casa&id_propietario=$id_propietario"); ?>"><img src="img/ico_modificar.png" alt="Modificar" title="Modificar"></a></td>
			  <td width="24"><a href="borrar_foto.php?<? print("borrar=$li[id_foto]&id_casa=$id_casa&id_propietario=$id_propietario"); ?>"><img src="img/ico_eliminar.png" alt="Eliminar" title="Eliminar"></a></td></tr>
		   </tr>
		 	 <?php
		 		}
		 	 ?>
			 </table>
       </fieldset>
       </form> 
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 23:17.