Programación Web y Scripting > PHP
Dar Permisos A Una Carpeta
Altareum:
Qué parte del código no funciona en el servidor ???? Te da algún tipo de error??
Altareum.
zaida20:
hola, muchas gracias por contestarme, no me da ningín error, hace todo bien, sólo que no me visualiza las imágenes y no se por qué.
Saludos :hola: gracias y espero que puedas ayudarme
Avalon:
Hola. Solo un pequeño comentario respecto a tu código. No veo qué necesidad puede haber de cambiar los permisos de la carpeta imagenes cada vez que subas imágenes al servidor. Mejor sería hacerlo una sola vez desde tu cliente de FTP como dice Altareum.
De esta forma te ahorrarías el tener que ejecutar la función chmod en tu código, la cuál por cierto estás empleando de forma incorrecta ya que esa función retorna VERDADERO (1) o FALSO (0) dependiendo de si ha tenido éxito al hacer el cambio de permisos, de manera que cuando haces esto
--- Código: Text ---$ruta=chmod('./imagenes/','0777');
$ruta no va a contener la ruta donde quieres guardar las imágenes sino que va a contener un 0 o un 1.
Y luego ese 0 o 1 lo concatenas con el nombre original del archivo
--- Código: Text ---$uploadfile_nombre=$ruta.$_FILES['fichero']['name'];
y más adelante
--- Código: Text ---move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
con lo que las imágenes no se están subiendo a la carpeta imagenes sino a la carpeta donde tienes tu archivo php, y en caso de que no existan los permisos necesarios esas imágenes no se guardarán en el servidor.
Espero que te sirva el comentario.
Salu2,
Avalon
zaida20:
Hola Avalon, me di cuenta de lo del chmod y ahora tengo el código así pero sigue sin funcionar:
--- Código: Text --- chmod('imagenes/',0777);if($_FILES['fichero']['name']!=NULL){ $uploadfile_temporal=$_FILES['fichero']['tmp_name']; $uploadfile_nombre="imagenes/".$_FILES['fichero']['name']; $ruta_foto='imagenes/'.$_FILES['fichero']['name'];//recoge la ruta de la imagen(carpeta y nombre) if (is_uploaded_file($uploadfile_temporal)) { move_uploaded_file($uploadfile_temporal,$uploadfile_nombre); //echo "ok"; } else { echo "error"; }//insertamos las imágenes en la bd $sql="INSERT INTO img (foto) VALUES ('$ruta_foto')"; $res = mysql_query($sql); if (!$res) echo "Error al ejecutar la consulta";}//hacemos la consulta$obtener_foto="select foto, id from img";$i=0;$consulta=mysql_query($obtener_foto,$conexion)or die(mysql_error());if($consulta!=NULL){ if(mysql_num_rows($consulta)!=0) { while($row=mysql_fetch_array($consulta)) { $imagen[$i]=$row['foto']; $id=$row['id']; $size= getimagesize ($imagen[$i]); $ancho[$i]= (int) ($size [0] * 0.3); $alto[$i]= (int) ($size [1] * 0.3); $i++; } }} ?> <html><head><title>Documento sin título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body><?php$i=0;while($imagen[$i]!=NULL){?><p><img src="<?php echo $imagen[$i];?>" width="<?php echo $ancho[$i]; ?>" height="<?php echo $alto[$i];?>"> <?php$i++;}?>
Espero que puedas ayudarme
Muchas gracias!!!!!!!!
Avalon:
Faltaría hacer la conexión a la base de datos (mysql_connect) y seleccionar la base de datos (mysql_select_db) antes de hacer el INSERT. El resto parece correcto.
Salu2,
Avalon
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa