Tengo un problema con un fopen,el caso es que quiero editar los archivos fácilmente,en éste caso es de configuración...
os dejo como se ve sin tocar nada,sin editarlo...
ANTES:
http://s3.subirimagenes.com:81/imagen/48895422ss.png
DESPUES:
http://s3.subirimagenes.com:81/imagen/488954323ss.png
CODIGO:
<?php
if (isset($_POST['arch'])) {
$nombre_archivo = '../settings.php';
$final=$_POST['contenido'];
// Inserto los datos :P
if (!$gestor = fopen($nombre_archivo, 'r+')) {
echo "<span class='Estilo1'>No se puede abrir el archivo ($nombre_archivo)</span>";
exit;
}
if (fwrite($gestor, $final) === FALSE) {
echo "<span class='Estilo1'>No se puede escribir al archivo ($nombre_archivo)</span>";
exit;
}
echo "Insertado";
fclose($gestor);
}
?>
form:
<form id="form1" method="post" action="">
<label>Contenido:<br />
<textarea name="contenido" rows="25" cols="100"><?php
readfile ('../settings.php');
?> </textarea>
</label>
<br />
<input name="arch" type="hidden" id="arch" value="si" />
<br />
<label>
<input type="submit" name="Submit" value="Guardar" />
</label>
</form>
ERRORES:
*Que antes de editarlo,todo bien lo tengo a "R+" pero después,raramente donde dice "=" o algo así,dice "=\" \ vamos,muy raro.Esa es mi duda,repito: ESTÁ A R+. ;)
Gracias por sus ayudas. ;D
No entiendo cual es tu problema, ¿que es exactamente lo que necesitas?
En ves de "r+" pone "a" ;)
suerte :silbar:
Cita de: Zazú en 31 Julio 2010, 23:07 PM
No entiendo cual es tu problema, ¿que es exactamente lo que necesitas?
En ves de "r+" pone "a" ;)
suerte :silbar:
No es por los r+ ni nada,lo tengo a r+,sí.
Pero el problema es que,lo edita bien el archivo pero al editarlo se generan unos =\ (en la imagen,verás qué digo,mira ambas)
Gracias ;-)
No es problema del source, al parecer tienes la directiva magic_quotes_gpc On del php.ini que escapa las comillas simples y dobles que se envían via GET/POST/COOKIE....
Tienes que desactivarla, luego reinicia apache y deberá funcionar...
yoya@yoya-desktop ~ $ cat /etc/php5/apache2/php.ini|grep magic_quotes_gpc
; magic_quotes_gpc
magic_quotes_gpc = Off
Gracias ~ Yoya ~ ,me pareció muy raro.
Estoy en un compartido,lo reportaré,muchísimas gracias. ;-)
No es necesario reportarlo, puedes usar la función stripslashes() (http://php-es.com/function.stripslashes.html)
Ejemplo:
<?php
$a = 'assas\"ssa\"asaas';
echo stripslashes($a);
?>
Salida:
assas"ssa"asaas
wow,gracias ;)
Ni idea tenía de eso,algo que me apunto. ;D
Por cierto ya que lo tengo solucionado dejo el código... y gracias de nuevo...! va perfecto! ;-)
<?php
if (isset($_POST['arch'])) {
$nombre_archivo = 'AQUIELARCHIVO.PHP';
$final=$_POST['contenido'];
// Inserto los datos :P
if (!$gestor = fopen($nombre_archivo, 'r+')) {
echo "<span class='Estilo1'>No se puede abrir el archivo ($nombre_archivo)</span>";
exit;
}
if (fwrite($gestor, stripslashes($final)) === FALSE) {
echo "<span class='Estilo1'>No se puede escribir al archivo ($nombre_archivo)</span>";
exit;
}
echo "Insertado";
fclose($gestor);
}
?>
<form id="form1" method="post" action="">
<label>Contenido:<br />
<textarea name="contenido" rows="25" cols="100"><?php
readfile ('../settings.php');
?> </textarea>
</label>
<br />
<input name="arch" type="hidden" id="arch" value="si" />
<br />
<label>
<input type="submit" name="Submit" value="Guardar" />
</label>
</form>
Si hubiera sabido lo que necesitabas ya te lo decia :P
Cualquier otra cosa postea o mandame un mensaje privado que intento ayudarte, suerte ;)