Hola... estaba preparando un script para editar archivos vie url, me funciona bien, pero tiene un pequeño fallo y es que si el archivo pedido no existe me manda un error y ya mi cabecita no me dio para mas
y tambien quiero ver como hacer para editar los archivos via URL, pues ahora solo los edita en el server local. osea, que funciona con rutas del tipo /carpeta/file.html pero no con
http://localhost/carpeta/file.html
El error que da es:
Warning: file(eyj) [function.file]: failed to open stream: No such file or directory in D:\WAMP-SERVER\wamp\www\foo\file-edit.php on line 63
Warning: Invalid argument supplied for foreach() in D:\WAMP-SERVER\wamp\www\foo\file-edit.php on line 63
aqui el codigo:
Código php:
Ver original<?php
}
// comprobamos si el formulario
// ha sido enviado correctamente
if(isset($_POST['abrir']) && $_POST['abrir'] == 'Abrir archivo'){ if (!empty($_POST['archivo'])){ $archivo = $_POST['archivo'];
$_SESSION['archivo'] = $archivo;
// comprobamos que existe el archivo
$msg = "El archivo no existe";
} else {
//$archivo_abierto = $archivo;
$msg = "La ruta del archivo es <b>$archivo</b>";
}
} else {
$msg = "Debe introducir la diraccion del archivo a editar";
}
}
// editamos el archivo abierto
if(isset($_POST['editar']) && $_POST['editar'] == 'Editar archivo'){ $archivo = $_SESSION['archivo'];
$archivo_editado = $_POST['archivo_editado'];
if(!$gestor = fopen($archivo, 'w')){ $msg = "No se puede abrir el archivo $archivo";
}
// editamos el archivo
$msg = "No se puede escribir en el archivo $archivo";
}
// Exito...!
$msg = "El archivo $archivo se edito con exito";
//unset($_SESSION['archivo']);
}else{
$msg = "No se peude escribir en el archivo $archivo_editado";
}
}
// guardamos el archivo
// y destruimos todas las variables
if(isset($_POST['guardar']) && $_POST['guardar'] == 'Guardar'){ unset($_SESSION['archivo']); }
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
<p>URL: <input type="text" name="archivo" value="" size="50" />
<input type="submit" name="abrir" value="Abrir archivo" /></p>
<?php echo "<p>".$msg."</p>"; ?>
<textarea name="archivo_editado" rows="25" cols="100">
<?php
// mostramos el contenido
// del archivo abierto
if($archivo){
foreach (file($archivo) as $lineas){ }
}
?>
</textarea>
<p>
<input type="submit" name="editar" value="Editar archivo" />
<input type="submit" name="guardar" value="Guardar" />
<input type="reset" value="Restablecer" />
</p>
</form>
quisiera me ayudaran a descubrir por donde estan los fallos aqui, que le sobre y que le falta
gracias de antemano