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