Foros del Web » Programando para Internet » PHP »

Problemas con archivos (fopen, fwrite)

Estas en el tema de Problemas con archivos (fopen, fwrite) en el foro de PHP en Foros del Web. Gente salvadora de este foro, a ver si e puede ayudar con este problrma. Primero lesmuestro los archivos, luegoles esxplico el problema: Archivo: grabar.php ------------------- ...
  #1 (permalink)  
Antiguo 03/06/2005, 14:21
 
Fecha de Ingreso: diciembre-2003
Mensajes: 41
Antigüedad: 14 años
Puntos: 0
Pregunta Problemas con archivos (fopen, fwrite)

Gente salvadora de este foro, a ver si e puede ayudar con este problrma. Primero lesmuestro los archivos, luegoles esxplico el problema:

Archivo: grabar.php
-------------------
<?
function grabar_linea($file, $txt)
{
fwrite($file, $txt) or die ("unable to open file ($file)");
}
?>
-------------------
Archivo: bruno_xml.php
-------------------
<?php
include ("grabar.php");

$myXml = fopen("bruno.xml","w+") or die('<script>alert(\'No se puede crear el nuevo archivo.\')</script>');

function ExportDirectoryXML($base, $indent)
{
if ($dir = @opendir($base))
{
while ($file = readdir($dir))
{
if ($file{0} != ".")
{
if (is_dir($base . "/" . $file))
{
$content="$indent&lt;directory name=\"$file\" type=\"directory\"&gt;\n";
grabar_linea($myXml, $content);
ExportDirectoryXML($base . "/" . $file, $indent."\t");
$content="$indent&lt;/directory&gt;\n";
grabar_linea($myXml, $content);
}
else $content="$indent&lt;file name=\"$file\" type=\"actionscript\" /&gt;\n";
grabar_linea($myXml, $content);
}
}
closedir($dir);
}
}
$directory = realpath("downloads/fotos");
ExportDirectoryXML($directory, "");
fclose($myXml);
?>
--------------------------------------------------------------------------

Al ejecutar este ultimo php, el explorador me tira: "Warning: fwrite(): supplied argument is not a valid stream resource in /www/docs/misitio.com.ar/public_html/data/grabar.php on line 4"

Siempre y cuando ejecute la función grabar_linea(); dentro de la otra función, ya que sino el archivo erscribe correctamente... podría ser que la función estuviesebuscando a la otra como local en vez de global???

Soy un beginner con PHP, quien pueda ayudarme... ante todo, muchas gracias.
  #2 (permalink)  
Antiguo 03/06/2005, 14:43
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
que permisos tienen tus carpetas, prueba cambiandolo a 0777


saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #3 (permalink)  
Antiguo 03/06/2005, 15:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El problema que tienes es sobre el ambito de las variables en funciones.

$myXml = fopen("bruno.xml","w+")

Lo tienes fuera de tu función:
ExportDirectoryXML()

Y no lo declaras como global o lo pasas como parámetro a esta. O bien metes dentro de tu función ese fopen() de $myXml

Un saludo,
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 19:53.