Ho un problemino. Ho creato uno script php di amministrazione che dopo aver inserito una password mi permetta di visualizzare un textarea con il codice del file index.php e di modificarlo.
Però questo script mi fa visualizzare solo i primi 1024 caratteri. Come posso impostarlo in modo che legga tutto il codice.
Ecco lo script:
Codice PHP:
<?
// Script: Amministrazione Sito
// by Portale Online
// www.portaleonline.tk
// Configurazione
$password="Password"; //imposta la password di amministrazione
$titolo="Titolo di Prova"; //imposta il titolo per la pagina
//imposto la variabile semplificata
$pwd=$_POST['pwd'];
if ($pwd==$password){
//recupero le variabili
$prima=$_POST['ver'];
$codice=$_POST['codice'];
//controllo se la variabile $prima è vuota
if($prima==''){
//specifico il file che voglio aprire
$file="index.php";
//apro il file in modalità lettura
$open=fopen($file,'r');
//specifico il parametro in modo che visualizzi il codice originale (ERRORE)
$cont=fread($open,1024);
//chiudo il file
fclose($open);
?>
<html>
<head>
<title><?=$titolo?></title>
</head>
<body>
<center>
<h1><?=$titolo?></h1>
<form name="modifica" method="post">
<textarea name="codice" rows="35" cols="120"><?=$cont?></textarea>
<br>
<input type="submit" value="Modifica pagina" name="ver">
</center>
</form>
</body>
</html>
<?
//se invece la variabile $prima non è vuota aggiorno il file
}else{
//specifico il file che voglio aprire
$file="index.php";
//apro il file in modalità scrittura
$open=fopen($file,'w');
//scrivo il file
fwrite($open,$codice);
//chiudo il file
fclose($open);
//reindirizzo alla pagina principale
header("Location: index.php");
}
}else{
?>
<html>
<head>
<title><?=$titolo?></title>
</head>
<body>
<center>
<h1><?=$titolo?></h1>
<form method="POST">
<b>Password:</b>
<input type=password name=pwd>
<input type=submit value="Invia">
</form>
</center>
</body>
</html>
<?
}
?>
O scritto tra parentesi ERRORE nel codice dove avevo impostato il parametro che leggeva solo i primi 1024 caratteri.