PHP fopen, fwrite
Différentes approches dans la manipulation de fichiers avec PHP
fopen
<?php $YourFile = "YourFile.txt"; $handle = fopen($YourFile, 'r'); $Data = fread($handle, 512); fclose($handle); print $Data; ?>
File_get_contents
<?php $file = file_get_contents ('YourFile.txt'); Echo $file; ?>
fgets
<?php $YourFile = "YourFile.txt"; $handle = fopen($YourFile, 'r'); while (!feof($handle)) { $Data = fgets($handle, 256); print $Data; print "<p>"; } fclose($handle); ?>
File
<?php $lines = file('YourFile.txt'); foreach ($lines as $line_num => $line) { print "<font color=red>Line #{$line_num}</font> : " . $line . "<br />\n"; } ?>
What this code does first is put the contents of YourFile.txt into the array called $lines.
fopen-fwrite-fput
<?php
$filename = 'test.txt';
$somecontent = "Ajout de chaîne dans le fichier \n";
// Assurons nous que le fichier est accessible en écriture
if (is_writable($filename)) {
// Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
// Le pointeur de fichier est placé à la fin du fichier
// c'est là que $somecontent sera placé
if (!$handle = fopen($filename, 'a')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
echo "L'écriture de ($somecontent) dans le <a href=$filename>fichier ($filename)</a> a réussi";
fclose($handle);
} else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
?>
fopen htaccess page
Si votre serveur utilise un fichier .htaccess pour authentifier les utilisateurs, assurez-vous d'ajouter le nom d'utilisateur et le mot de passe au lien HTTP que vous essayez d'ouvrir.
fopen("http://user:pass@www.mysite.com/mypage.php");
PHP allow_url_fopen / allow_url_include
Ce procédé est aujourd'hui utilisé pratiquement à 100% pour des tentatives de piratages ou de phishing et n'est que rarement nécessaire.
il est possible de les activer si nécessaire en introduisant l'une des valeurs suivantes dans un fichier .htaccess :
php_flag "allow_url_fopen" "On" php_flag "allow_url_include" "On"
effacer
<?php /* [[effacer.php]] Script to remove files / directories on a web server *** CAREFULL!!! # # Authors: # FR, radeff@akademia.ch # History # --- //[[fradeff@akademia.ch|Fred Radeff]] 2008/02/01 15:03//: created; ######### */ function SureRemoveDir($dir, $DeleteMe) { if(!$dh = @opendir($dir)) return; while (false !== ($obj = readdir($dh))) { if($obj=='.' || $obj=='..') continue; if (!@unlink($dir.'/'.$obj)) SureRemoveDir($dir.'/'.$obj, true); } closedir($dh); if ($DeleteMe){ @rmdir($dir); } } function delfile($str) { foreach(glob($str) as $fn) { unlink($fn); } } #SureRemoveDir('EmptyMe', false); #SureRemoveDir('RemoveMe', true); #delfile("equipe/fr*"); rmdir("xmedia"); ?>