Salve a tutti avrei bisogno di verificare se 3 file ad es:
file1.php
file2.php
file3.php
In base ad i permessi che hanno, sono apribili modificabili e chiudibili.
Mi spiego bene:
Per ognuno dei tre file php ho questo codice in una paginascrivi.php che eseguita li apre e scrive su di essi in una riga precisa:
Il fatto è che quell'echo "successo" non ha nessun controllo, cioè non so se effettivamente le righe siano scritte o meno, quindi è inutile.
Spulciando php.net ho trovato is_writable e nei commenti ci stava questa funzione un po datata (2004):
Vorrei sapere alcune cose:
1. come funzione è corretta?
2. se non erro si basa sulla lettura del CHMOD, tuttavia non mi sembra una soluzione corretta, è possibile ovviare a questo problema?
3. nel caso, come posso adattarla?
file1.php
file2.php
file3.php
In base ad i permessi che hanno, sono apribili modificabili e chiudibili.
Mi spiego bene:
Per ognuno dei tre file php ho questo codice in una paginascrivi.php che eseguita li apre e scrive su di essi in una riga precisa:
PHP:
$lines4 = file('../../form.php');
$lines4 = str_replace("\n", "", $lines4);
$lines4[139] = "$('a.add').relCopy({ limit: " . $lallegati . ", append: removeLink});";
file_put_contents('../../form.php', implode("\n", $lines4));
$lines4 = file('../../m.form.php');
$lines4 = str_replace("\n", "", $lines4);
$lines4[120] = "$('a.add').relCopy({ limit: " . $lallegati . ", append: removeLink});";
file_put_contents('../../m.form.php', implode("\n", $lines4));
echo "<p><font color='green'>Successo</font></p>";
Il fatto è che quell'echo "successo" non ha nessun controllo, cioè non so se effettivamente le righe siano scritte o meno, quindi è inutile.
Spulciando php.net ho trovato is_writable e nei commenti ci stava questa funzione un po datata (2004):
PHP:
<?php
function file_write($filename, &$content) {
if (!is_writable($filename)) {
if (!chmod($filename, 0666)) {
echo "Cannot change the mode of file ($filename)";
exit;
};
}
if (!$fp = @fopen($filename, "w")) {
echo "Cannot open file ($filename)";
exit;
}
if (fwrite($fp, $content) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
if (!fclose($fp)) {
echo "Cannot close file ($filename)";
exit;
}
}
?>
Vorrei sapere alcune cose:
1. come funzione è corretta?
2. se non erro si basa sulla lettura del CHMOD, tuttavia non mi sembra una soluzione corretta, è possibile ovviare a questo problema?
3. nel caso, come posso adattarla?