Aveces necesitas un else para poder ejecutar otro if, si el servidor tiene ciertos modulos de seguridad, o si la versión de php no está actualizada requieres de un else en cada if, de todos modos tu logica estaba mal por que al ejecutarlo me lanzaba
No se puede abrir el archivo lol.php Insertado
Prueba con este
PHP:
<?phpif (isset($_POST['arch'])) {
$nombre_archivo = 'lol.php';
$final= $_POST['contenido'];
if ($gestor = fopen("$nombre_archivo", "w")) {
echo "No se puede abrir el archivo ($nombre_archivo)";
}
else if (fwrite($gestor, $final) == false)
{echo "No se puede escribir al archivo ($nombre_archivo)";fclose($gestor);}
else
{echo "Insertado";}
}?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Administracion</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<center><p><b>Panel de ADMIN web:</b></p></center>
<form id="form1" method="post" action="">
<label>Contenido: <textarea name="contenido" rows="25" cols="150">
<?php readfile ('lol.php'); ?>
</textarea>
</label>
<input name="arch" type="hidden" id="arch" value="si" />
<label> <input type="submit" name="Submit" value="Guardar" /> </label>
</form>
<center><p>Panel de Admin (c)</p></center>
</body>
</html>