$base = getcwd();
$script = $_SERVER["SCRIPT_NAME"];
$rep = $_GET["rep"];
$action = $_GET["action"];
$uid = posix_getuid();
if (!preg_match("/\/$/", $rep)) {
$rep .= "/";
}
$dir = $base . $rep;
function recurse_chmod($dir) {
if (!preg_match("/\/$/", $dir)) {
$dir .= "/";
}
echo "chmod 02777 $dir
\n";
chmod($dir, 02777);
$dh = opendir($dir);
if ($dh) {
$dirs = array();
while (($file = readdir($dh)) !== false) {
if (($file == ".") || ($file == "..")) {
continue;
}
if (filetype($dir . $file) == "dir") {
array_push($dirs, $file);
}
}
closedir($dh);
}
foreach ($dirs as $file) {
recurse_chmod($dir . $file);
}
}
if ($action == "fix") {
if (is_dir($dir)) {
recurse_chmod($dir);
}
$rep = dirname($rep) . "/";
}
$dir = $base . $rep;
echo "$rep
\n";
echo "\n";
echo "..
\n";
if (is_dir($dir)) {
$dh = opendir($dir);
if ($dh) {
$files = array();
$dirs = array();
while (($file = readdir($dh)) !== false) {
if (($file == ".") || ($file == "..")) {
continue;
}
if (filetype($dir . $file) == "dir") {
array_push($dirs, $file);
} else {
array_push($files, $file);
}
}
closedir($dh);
sort($files, SORT_REGULAR);
sort($dirs, SORT_REGULAR);
foreach ($dirs as $file) {
echo "$file";
if (fileowner($dir . $file) == $uid) {
echo " [FIX]";
}
echo "
\n";
}
foreach ($files as $file) {
echo "$file";
echo "
\n";
}
}
}
echo "
\n";
?>
Il vous suffira d'appeler ce fichier avec votre navigateur et de naviguer (si besoin) et de cliquer sur le lien **[FIX]** situé en face du nom des répertoires.
== Si le dossier n'est pas modifiable ==
Est ce normal que je ne vois pas le mot FIX à côté de chaque dossier ?
> Oui, ce bouton ne s'affiche que pour les fichiers ou dossiers qui ont été modifiés ou créés par le serveur via un script PHP et qui appartiennent donc à l'utilisateur "httpd", et pas à un utilisateur FTP traditionnel tel que "sys_chrisncy".\\
Source : http://fr.piwigo.org/forum/viewtopic.php?pid=175070#p175070
Sujet initial sur le forum : http://fr.piwigo.org/forum/viewtopic.php?pid=157032#p157032
=== Images invisibles ===
Dans des cas rares, il est possible que des photos n'apparaissent pas malgré le strict respect des procédures.
* Vos images sont corrompues. Un problème d'encodage à eu lieu. => Changer l'encodage.
* Votre dossier physique n'est pas accessible. Les droits ''chmod'' ne sont pas suffisants. Passer le répertoire
* en