je suis en train de triffouiller comme je peux dans le fichier files.dynamic.php
je fais afficher certaines varialbes et j’ai peut être un début de piste
Téléchargement de 01.jpg dans /
Type du fichier : image/jpeg, 0 B
Type: image/jpeg
Userfile tmp_name : /tmp/phpCOcJk1
POST path & userfile name : /vhost/saint-julien-en-saint-alban.fr/home/www/html//01.jpg
Le fichier n’a pas pu être copié dans le répertoire de destination - le téléchargement a échoué ! Possible permission problems - the directory you want to upload to needs to be set to 0777 permissions.
SI je comprend bien le bout de code du fichier
if(!empty($_FILES['userfile'])) {
for ($i = 0; $i <= count($_FILES['userfile']['tmp_name']); $i++) {
if(!empty($_FILES['userfile']['tmp_name'][$i])) {
$userfiles[$i]['tmp_name'] = $_FILES['userfile']['tmp_name'][$i];
$userfiles[$i]['error'] = $_FILES['userfile']['error'][$i];
$userfiles[$i]['name'] = $_FILES['userfile']['name'][$i];
$userfiles[$i]['type'] = $_FILES['userfile']['type'][$i];
}
}
Ca signifie que pour chaque fois que le formulaire d’upload a ete saisie on recupere les variables de celui ci pour l’upload
foreach((array)$userfiles as $userfile)
{
// this seems to be an upload action.
printf($_lang['files_uploading'], $userfile['name'], substr($startpath, $len, strlen($startpath)));
echo $userfile['error']==0 ? $_lang['files_file_type'].$userfile['type'].", ".fsize($userfile['tmp_name'])."<br />" : "" ;
$userfilename = $userfile['tmp_name'];
if (is_uploaded_file($userfilename))
{
// file is uploaded file, process it!
if(!in_array(getExtension($userfile['name']), $uploadablefiles))
{
echo "<br /><span class='warning'>".$_lang['files_filetype_notok']."</span><br />";
}
else
{
/************TESTS***********/
echo $userfile['type'];
echo "<br>";
echo $userfilename;
echo "<br>";
echo $userfile['tmp_name'];
echo "<br>";
echo $_POST['path']."/".$userfile['name'];
/***************************/
if(@move_uploaded_file($userfile['tmp_name'], $_POST['path']."/".$userfile['name']))
{
// Ryan: Repair broken permissions issue with file manager
if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN')
@chmod($_POST['path']."/".$userfile['name'], $new_file_permissions);
// Ryan: End
echo "<br /><span class='success'>".$_lang['files_upload_ok']."</span><br />";
// invoke OnFileManagerUpload event
$modx->invokeEvent("OnFileManagerUpload",
array(
"filepath" => $_POST['path'],
"filename" => $userfile['name']
));
}
else
{
echo "<br /><span class='warning'>".$_lang['files_upload_copyfailed']."</span> Possible permission problems - the directory you want to upload to needs to be set to 0777 permissions.<br />";
}
}
}
Et la si je suis encore (hesitez pas a me corriger)
Pour chaque fichier a uploader
--- on affiche ses caracteristiques
--- si l’extension est pas bonne on retourne un message d’erreur
--- sinon on le bouge du dossier temporaire vers le dossier choisi (en y appliquant les droits)
----- si le deplacement ne se fait pas bien on balance un message d’erreur (celui que j’ai)
Donc en gros mon fichier a moi il s’upload, mais il fais 0 Bytes du coup il doit en deduire qu’il ne peu pas le bouger, mais l’emmerdant c’est que suivant la doc php move_uploaded_file ne renvoi pas de message d’erreur ...
une idée mes sauveurs ??