Ce script créer un dossier upload: et un sous dossier par utilisateur: _utilisateur1 et utilisateur 2 ou on upload des fichiers Il ne créer aucune erreur. Sauf que lorsque je désire changer les propriétés du chmod (passer de 600 à 777) c'est impossible. De même il est impossible de supprimer un fichier ou un dossier (erreur 550).
Voila serait-il possible de changer le chmod à l'intérieur du script (le mettre directement à 777) ?
Marsh Posté le 02-10-2004 à 11:01:20
Bonjour, j'utilise un scipt pour envoyer des fichiers vers un serveur:
<?PHP
$Type_Fichier = array(
"Utilisateur1" => "Utilisateur1",
"Utilisateur2" => "Utilisateur2",
);
if (!is_dir("upload" )) @mkdir("upload" );
if ($_SERVER['REQUEST_METHOD'] == "POST" &&
isset($_POST['folder']) && isset($Type_Fichier[$_POST['folder']]) &&
@is_uploaded_file($_FILES['file']['tmp_name'])) {
$sFolder = "upload/".strtolower($_POST['folder']);
if (!is_dir($sFolder) && !@mkdir($sFolder))
die(" '".$sFolder."'" );
if (!@move_uploaded_file($_FILES['file']['tmp_name'], $sFolder."/".$_FILES['file']['name']))
die(" '".$sFolder."'" );
}
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><HTML>";
echo "<HEAD><TITLE>Partage de Fichiers</TITLE>";
echo "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"style.css\">";
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\">";
echo "</HEAD><BODY><H1><CENTER><font face='Comic Sans MS' color=#6666ff><b>
<big>Partage de fichiers</big></b></font></CENTER></H1>";
echo "</HEAD><BODY><H1><CENTER><font face='Comic Sans MS' color=#000000><b>
Section Informatique</b></font></CENTER></H1><br>";
if ($hDir = opendir("upload" )) {
while (FALSE !== ($sData = readdir($hDir))) {
if ($sData != "." && $sData != ".." ) {
echo "<B>".strtoupper($sData)."</B>";
echo "<DIV STYLE=\"margin-left: 20px; padding: 2px;\">";
$hDir2 = opendir("upload/".$sData);
while (FALSE !== ($sData2 = readdir($hDir2))) {
if ($sData2 != "." && $sData2 != ".." )
echo "<A Href=upload/".$sData."/".$sData2.">".$sData2."</A><BR>";
}
closedir($hDir2);
echo "</DIV><BR>";
}
}
closedir($hDir);
}
echo "<FORM ENCTYPE=\"multipart/form-data\" METHOD=\"post\" ACTION=\"".$_SERVER['PHP_SELF']."\">";
echo "<BR><BR><B>Envoyer le fichier : </B><BR>";
echo "<INPUT TYPE=\"file\" NAME=\"file\"><BR>Utilisateur :";
if ($langResult)
echo "<B>".$FICHIER."</B><INPUT TYPE=\"hidden\" NAME=\"folder\" VALUE=\"".$FICHIER."\">"; else {
echo "<SELECT NAME=\"folder\">";
$walkFunction = ($FICHIER) ?
'echo "<OPTION"; if ($v == "'.$FICHIER.'" ) echo " SELECTED"; echo ">".$v."</OPTION>";' :
'echo "<OPTION>".$v."</OPTION>";';
array_walk(array_keys($Type_Fichier), create_function('$v', $walkFunction));
echo "</SELECT>";
}
echo "<BR><BR><INPUT TYPE=\"submit\" VALUE=\" OK \">";
echo "</FORM></BODY></HTML>";
?>
Ce script créer un dossier upload:
et un sous dossier par utilisateur:
_utilisateur1 et utilisateur 2 ou on upload des fichiers
Il ne créer aucune erreur.
Sauf que lorsque je désire changer les propriétés du chmod (passer de 600 à 777) c'est impossible. De même il est impossible de supprimer un fichier ou un dossier (erreur 550).
Voila serait-il possible de changer le chmod à l'intérieur du script (le mettre directement à 777) ?