Foros del Web » Programando para Internet » PHP »

Problema creando Galeria de Fotos

Estas en el tema de Problema creando Galeria de Fotos en el foro de PHP en Foros del Web. Hola muchachos del web, tuve la idea de crear un codigo sencillo que me hiciera una galeria de imagenes de una carpeta con imagenes. Les ...
  #1 (permalink)  
Antiguo 15/05/2003, 14:56
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Problema creando Galeria de Fotos

Hola muchachos del web, tuve la idea de crear un codigo sencillo que me hiciera una galeria de imagenes de una carpeta con imagenes. Les comento que mis conocimientos sobre PHP son bastante escasos pero luego de una larga investigacion por forosdelweb y otros sitios llegue a un codigo que me parece no esta tan lejos de lo que necesito.
Primero les comento cual es el problema que me da y luego les paso el codigo....

una vez que subi el archivo y un par de fotos de prueba, el archivo se ejecuto creo la carpeta "thumbs" y creo las miniaturas, pero el problema es que a ambas les asigno un valor que hace que yo no las pueda leer y ni siquiera borrar. Intente cambiarle los permisos desde el administrador no hay forma no se cambia nada.
Pero el problema no quedo ahi, despues ya no me creo mas la carpeta ni las miniaturas y me devuelve el siguiente error:

Warning: imagejpeg: unable to open 'thumbs/tn_PIC00057.jpg' for writing in /var/www/www/mantox/html/flaco/index.php on line 33

¿Que tengo mal en el codigo? ¿me recomiendan alguna otra forma mas sencilla de hacerlo?

Desde ya muchas gracias

<? function createthumb($name,$filename,$new_w,$new_h){
global $gd2;
$system=explode(".",$name);
if (preg_match("/jpg|jpeg/",$system[1])){
$src_img=imagecreatefromjpeg($name);
}
if (preg_match("/png/",$system[1])){
$src_img=imagecreatefrompng($name);
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}

if ($gd2==""){
$dst_img=ImageCreate($thumb_w,$thumb_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$thumb_ w,$thumb_h,$old_x,$old_y);
}else{
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thum b_w,$thumb_h,$old_x,$old_y);
}

imagejpeg($dst_img,$filename);
imagedestroy($dst_img);
imagedestroy($src_img);
}
?>
<html>
<head>
<body leftmargin="0" topmargin="0">
<table height="2" border="0" cellpadding="0" cellspacing="0">
<tr><td>GALERIA:</td>

<?php


$dir = opendir('.');

while(false !== ($file = readdir($dir))) {
if ($file != "." AND $file != ".." AND $file != "index.php")
{
if(is_dir($file)) {
echo "<td width=3 align=center><font size=1 color=#000000>&nbsp;";
echo "<a href=$file>";
echo "$file"."</a>";
echo "</font></td>\n";
}
else {
echo createthumb($file,"thumbs/tn_".$file,100,100);
$mostrar = "<img src='thumbs/tn_".$file."'>";
echo $mostrar;
}
}
}
closedir($dir);

?>

</tr>
</table>
</form>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 15/05/2003, 15:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ese directorio "thumbs" tiene permisos de escritura? .. parece que no pues el el mensaje de error que te dice. Dale permisos de escritura via CHMOD de tu cliente FTP que uses a esa carpeta de tu servidor ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 15/05/2003, 15:41
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 15 años, 4 meses
Puntos: 2
Dale un CHMOD 777.
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #4 (permalink)  
Antiguo 15/05/2003, 16:56
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Supuestamente la carpeta "thumbs" se deberia crear sola, o sea que automaticamente se deberia poner los permisos, eso se puede hacer.

la otra es usar la opcion que sirve solo para mostrar la miniatura sin guardarla en ningun lado, pero no tengo idea como funciona eso, ¿alguien sabe?¿cual de las dos formas es la mejor o mas segura?
  #5 (permalink)  
Antiguo 15/05/2003, 20:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. en ese código que pusistes no hay ninguna referencia a la función mkdir() que es la que permite crear directorios y asignarle permisos de escritura ...

Ese directorio "thumbs" lo tienes creado .. o estas confiando en que te lo va a crear ese script? ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 15/05/2003, 23:25
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Cluster, la verdad yo pensaba que el script me creaba la carpeta. Como ya dije entiendo muy poco de PHP y creo que con esto quedo comprobado .
Como seria el script para que se cree y para asignarles los permisos? o donde puedo leer sobre el tema? pero que este explicado de forma sencilla.
  #7 (permalink)  
Antiguo 15/05/2003, 23:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. se trata tan sólo de que uses la función que te mencioné:

mkdir()
http://www.php.net/manual/es/function.mkdir.php

Es muy sencilla de usar .. El problema no lo tendras con esa función. Si dices no conocer PHP, el problema lo vas a tener con otras cosas mucho más básicas, por lo tanto te recomendaría que leyeses las FAQ's de este foro donde encontrartas tutoriales sobre PHP y demas información típica sobre PHP. Data el tiempo de leerlas y de ver algún manual de PHP.

Recuerda que no puedes "empezar la casa por el tejado" y .. según estas haciendo las cosas ya estas montanto el tejado de tu aplicación en el arire .. Tomalo como consejo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 16/05/2003, 11:27
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Gracias cluster por la informacion y por el consejo. Pero te cuento no hago esto como para iniciarme en la programacion PHP, sino que es algo que nuna persona me pidio que le haga, y fue la unica forma que encontre para hacerlo.
Lo mismo ya estoy muy interesado en PHP y es muy probable que ahora empiece (desde cero), asi que seguro van a escuchar seguido por aca

Una ultima pregunta, ya logre hacer la mayoria de lo que necesito y funciona bastante bien, lo unico que me falta y no logro descifrar como hacer es que el script se fije si la carpeta "thumbs" existe y si no que la cree.

Última edición por safe; 16/05/2003 a las 11:27
  #9 (permalink)  
Antiguo 16/05/2003, 12:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. siguiendo en el manual de PHP.net .. en el mismo capítulo que está la función mkdir() .. tienes funciones como is_dir() para "preguntar" via PHP si tal directorio está creado .. sino (else) .. haces tu mkdir() correspondiente ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:19.