les platico.
hay un sitio hecho en flash, dicho sitio, "llama" a unos txt que contienen un listado de productos. hasta ahi todo va de maravilla
ahora bien, se me ocurrio, que para evitar la necesidad de enseñar al dueño del sitio a subir y bajar archivos por ftp, seria bueno crear unos php que leyeran los txt de su directorio original, y permitieran modificarlo, aqui les pego los codigos.
php modifica.php
- este codigo lo que hace es leer el directorio de "los txt", coge los nombres de los archvios y rellena un <select> con dichos nombres, para depues enviar ese dato al siguiente archivo. esto funciona bien.
Código:
Código PHP :
<?php
$dir = "textos";
if($directorio=opendir($dir)){
echo '<form action="prueba.php" method="post" name="modificar productos" id="mod">';
echo '<select name="file">';
echo '<b>Selecciona la lista de productos a modificar:</b><br>';
while ($archivo = readdir($directorio)) {
if ($archivo == '.' or $archivo == '..') {
echo "";
}else{
$txt=$archivo;
echo "<option>$txt</option>";
}
}
echo '</select>';
echo '<input type="submit" name="enviar" value="Enviar"></form>';
//echo "<span class='texto_menu_Titulo'>Aplicaciones y Utilerias</span>";
echo "<br><br>";
closedir($directorio);
}else {
echo 'ERROR: No se ha localizado el directorio $dir';
}
?>
archivo prueba.php
- este archivo lo que hace es que recibe el nombre del archivo a modificar, lo abre, rellena un textarea con el contenido, y en teoria deberia guardarlo, pero pues todo va bien, hasta el momento de guardar, no lo hace asi
Código:
Código PHP :
<?php
$recepcion = $file;
/* con estas lineas compruebo que lo que se recibe, sea la ruta correcta hacia el archivo, puesto que pinta lo que se utilizaria como tal, como ruta*/
echo $recepcion;
echo '<br><br><br>';
/* esta linea se que podria oviarse, pero la puse mas que nada para comprobar que la informacion, de la ruta del archivo, este pasando correctamente, ya que paso la variable a otra y la vuelvo a "pintar" y sigue saliendo lo mismo*/
$fichero = $file;
echo $fichero;
echo '<br><br><br>';
/*
aqui viene lo bueno, el procedimiento si me lee el archivo, me rellena el txt, desde el textarea, puedo modificarlo, pero al momento de guardarlo, no logro recibir el mensaje "Archivo modificado", en cambio, siempre recibo, el de "no se pudo escribir el archivo" */
$texto = $_POST["texto"];
if($texto != ''){
if($fp = fopen($file,"w+")){
fwrite($fp,stripslashes($texto));
echo 'Archivo modificado<br><br>';
}else{
echo ' No se pudo escribir el archivo';}
fclose($fp);
}
$fp = fopen($file,"r");
$contenido = fread ($fp, filesize ($file));
fclose($fp);
echo "<form method='POST'><textarea name='texto'>$contenido</textarea><br><input type='Submit' value='Guardar'></form>";
?>
alguna sugerencia??