Foros del Web » Programando para Internet » PHP »

ayuda con permisos de escritura

Estas en el tema de ayuda con permisos de escritura en el foro de PHP en Foros del Web. hola, haber si pueden darme una manito quiero crear un archivo xls en base a un tabla dinamica generada en php este no es ningun ...
  #1 (permalink)  
Antiguo 09/12/2004, 23:02
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 14 años, 2 meses
Puntos: 0
ayuda con permisos de escritura

hola, haber si pueden darme una manito

quiero crear un archivo xls en base a un tabla dinamica generada en php

este no es ningun problema, de hecho lo he hecho en otras paginas que he diseñado pero ahora tengo problemas de permisos

un extracto del codigo es

Código PHP:
...$shtml=$shtml."</tr>";
$shtml=$shtml."</table>";
$scarpeta=""//carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."xxxx.xls"//ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
echo 
"<a href='".$sfile."'>Haz click aqui</a>"
de echo esta extraido desde las mismas faq de aqui por lo tanto si funciona bien, bueno en sintesis al ejecutarlo ocurre lo siguiente:
Código PHP:
Warningfopen(xxxx.xls): failed to open streamPermission denied in /var/www/html/php_to_xls.php on line 22

Warning
fwrite(): supplied argument is not a valid stream resource in /var/www/html/php_to_xls.php on line 23

Warning
fclose(): supplied argument is not a valid stream resource in /var/www/html/php_to_xls.php on line 24 
antes que alguien me diga sobre los permisos de las carpetas estoy mas que seguro que estan en 777 (con chmod), por lo que el error debe estar en la configuracion de php

la parte de php.ni que me parece se debe modificar es esta
Código PHP:
;;;;;;;;;;;;;;;;
File Uploads ;
;;;;;;;;;;;;;;;;

Whether to allow HTTP file uploads.
file_uploads On

Temporary directory for HTTP uploaded files (will use system default if not
specified).
upload_tmp_dir =/var/www/html/

Maximum allowed size for uploaded files.
upload_max_filesize 2M 
si se me paso alguna parte del codigo o algun punto importante por favor mencionenlo
nota: elequipo en cuestion tiene Fedora Core 3 (con la configuracion de servidor que deja la instalacion)

bueno eso cualquier ayuda sera bien recibida salu2
  #2 (permalink)  
Antiguo 10/12/2004, 01:45
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Prueba a poner ./ como valor de la carpeta.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 10/12/2004, 05:51
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 14 años, 2 meses
Puntos: 0
ya esta probado, tanto poniendo

$scarpeta="./";

como poniendo

upload_tmp_dir =./

o

upload_tmp_dir =

alguna otra sugerencia???
  #4 (permalink)  
Antiguo 10/12/2004, 07:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
upload_tmp_dir =/var/www/html/

Esa ruta .. no es necesario que sea ahí .. de hecho en Linux usan mucho simplemente /tmp (pues ya tienes ese directorio "temporal" creado desde tu raiz ..)

Sea cual sea el directorio que ahí indiques .. debes de darle permisos de escritura .. CHMOD 0666 o similar.


Pero .. eso no tiene nada que ver con tu problema .. De hecho ahí no se ve que hagas ningún "upload" de ningún archivo por HTTP .. Sólo los creas desde tus scripts.


Si usas:
Cita:
$scarpeta=""; //carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."xxxx.xls"; //ruta del archivo a generar
Tu directorio:
/var/www/html/

debe tener esos permisos de escritura al menos y $scarpeta="./"; estaría bueno indicarlo también.

Un saludo,
  #5 (permalink)  
Antiguo 10/12/2004, 07:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Cita:
antes que alguien me diga sobre los permisos de las carpetas estoy mas que seguro que estan en 777 (con chmod)
Como te ha comentado CLuster, es la carpeta /var/www/html/ la que debe tener los permisos.

¿El fichero ya existia? Creo que para abrirlo para modificarlo PHP debe tener permisos de escritura sobre el fichero. Si lo subiste originalmente por FTP, puede que el fichero xxx.xls pertenezca al usuario FTP y PHP no tenga permisos para modificarlo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 12/12/2004, 08:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 14 años, 2 meses
Puntos: 0
hola.. gracias por responder.. ya trate lo del directorio que me indican y sin resultados lamentablemente.. independiente de si trato de manejar archivos con open gets o puts, o si trato de hacer uploads (aca solo puse el codigo con open, pero tengo otro codigo con upload que da el mismo problema)
definitivamente va con los permisos, pero no de las carpetas ni de los archivos porque estos ya los he revisado en varias ocasiones y estan todos en 777..
por todo lo anterior supongo que debe haber algo mal configurado, el punto es que tengo otras maquinas 10 aproximadamente que me presentan el mismo problema
si alguien conoce alguna opcion de codigo mas alla de la "seccion" upload de php.ini por favor que la indique..
de antemano gracias por el interes y las respuestas

salu2
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 20:51.