Foros del Web » Programando para Internet » PHP »

Error en el manejo de archivos

Estas en el tema de Error en el manejo de archivos en el foro de PHP en Foros del Web. Tengo un problema al manejar archivos ya que obtengo miles de errores al emplear las funciones para manejo de archivos. Alguien sabe como puedo solucionar ...
  #1 (permalink)  
Antiguo 21/11/2003, 09:20
Avatar de fjescalant  
Fecha de Ingreso: abril-2002
Ubicación: Villahermosa
Mensajes: 54
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Error en el manejo de archivos

Tengo un problema al manejar archivos ya que obtengo miles de errores al emplear las funciones para manejo de archivos.

Alguien sabe como puedo solucionar esto??

Sobre todo obtengo error con fopen.

que hago, ayudenme por favor
  #2 (permalink)  
Antiguo 21/11/2003, 09:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si pones alguno de los mensajes de error (y el trozo de codigo que lo produce), pues quizas podemos orientarte. Porque si no, simplemente puedo decirte que revises el manual de www.php.net y mires si usas las funciones bien.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 21/11/2003, 09:40
Avatar de fjescalant  
Fecha de Ingreso: abril-2002
Ubicación: Villahermosa
Mensajes: 54
Antigüedad: 15 años, 8 meses
Puntos: 0
estos son los errores que obtengo

Warning: fopen(http://localhost/backup/index.phpdbinfo.php) [function.fopen]: failed to create stream: HTTP wrapper does not support writeable connections. in C:\htdocs\backup\backup.php on line 3

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 4

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 5

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 6

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 7

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 8

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 9

Warning: fwrite(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 10

Warning: fclose(): supplied argument is not a valid stream resource in C:\htdocs\backup\backup.php on line 11

Warning: chmod() [function.chmod]: Invalid argument in C:\htdocs\backup\backup.php on line 12

Notice: Undefined variable: recreate in C:\htdocs\backup\backup.php on line 13

Notice: Undefined variable: recreate in C:\htdocs\backup\backup.php on line 60

Warning: mkdir(http://localhost/backup/dump/) [function.mkdir]: Invalid argument in C:\htdocs\backup\backup.php on line 65


Estos son algunos de los errores que obtengo, son primerizo en esto de archivos.

Ojala puedan ayudarme
  #4 (permalink)  
Antiguo 21/11/2003, 09:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pues es exactamente lo que te dice: que si especificas una URL (http://...) como nombre de fichero, no lo puedes abrir para escritura.

Por lo que veo, quieres abrir ficheros locales al servidor PHP para escribir. Para ello tienes que pasar como primer parametro a fopen() (www.php.net/fopen) la ruta (directorio y nombre de fichero) del fichero a escribir. Esa ruta puede ser relativa. Por ejemplo, para abrir para escritura el fichero llamado dbinfo.php que esta o quieres que este en el mismo directorio donde esta el script PHP, seria:
Código PHP:
$fp=fopen("./dbinfo.php","w"); // o w+ o wb. lee el manual 
Y lo de la ruta es para todas las demas fuciones que te aparecen ahi (chmod, mkdir, etc).

No se si esto te aclarara, pero cuando trabajes con ficheros locales, las rutas se manejan como cuando estas en MSDOS (¿todavia hay gente que lo usa? yo varias veces a la semana).

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 21/11/2003, 09:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa rutas absolutas en lugar de relativas.

En lugar de http://locahost .. usa C:\htdocs\backup\ .. o el directorio que corresponda o mejor todavía usando . y .. para subir por la rama de directorios ... así no tendrás problemas a la hora de migrar tu sitio a otros servidores.

fopen() puede usar "wrappers" externos (usar http://...) pero mkdir() no; .. necesita de ruta absoluta.

Recuerda que si programas para el lado del servidor (con PHP) .. las rutas de tus archivos pueden quedar fuera del alcance de http:// (document_root) así que siempre que trabajes con archivos que leas desde PHP (fopen() .. include() ..etc) usa rutas absolutas y más si están en el própio servidor que las ejecuta.

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 14:08.