Bonjour à tous,

J'ai un souci d'upload ! J'ai testé plein de trucs, mais devant l'absence totale de résultats satisfaisants, je ne sais plus quoi tester, alors je viens voir ici si quelqu'un a une idée !


Alors voilà : dans mon code, j'utilise les fonctions move_uploaded_file() et file_put_contents() pour télécharger toutes sortes de fichiers.
Quand je fais mes tests sur mon petit serveur local, tout se passe très bien.
Quand je mets le même code en ligne, les fonctions sus-nommées retournent false !

Par réflexe, j'ai mis les droits de tous les dossiers de destination à 777. Ca change rien.
J'ai vérifié post_max_size et upload_max_filesize, ils sont à 300M ! (et je teste une avec un fichier qui fait 10 ko...)

J'ai vérifié les chemins de mes dossiers, ils sont tous corrects.
Voilà, je sais pas trop quoi tester d'autre.

J'ignore si c'est très utile de mettre mon code, dans le doute le voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if($uniq_input[$entry['slaves'][$key]]['type']=='file'){ // Ca c'est une condition pour voir si on a choisi un input de type file
    // Upload d'une image en local
    $newFile=$main->ConvertIntoFilename(basename($_FILES['slave_'.$key]['name']),true); // Récupération d'un nom sans caractere special
    // On vérifie que le fichier donné est bien une image ou si on a un doc
    if(($main->chk_img_file($newFile))||$entry['type']=='document'){
        mkdir(substr($uploaddir,0,-1),0777,true);
        $tmpname=$_FILES['slave_'.$key]['tmp_name'];
        $uploadfile=$uploaddir.basename($_FILES['slave_'.$key]['name']);
        if (move_uploaded_file($tmpname, $uploadfile)){ // C'est ça qui marche pas
            rename($uploadfile,$uploaddir.$newFile);
            $upload_success=true;
        }
        else {$the_errors[]=$my_messages['upload_error'];$main->delTree(substr($uploaddir,0,-1));} // Ca met cette erreur là
        }
        else $the_errors[]=$my_messages['no_img']; // Ca osef
    }
    elseif($uniq_input[$entry['slaves'][$key]]['type']=='text'){
// A partir de là c'est la même chose, mais avec file_put_contents
        // Téléchargement depuis le web
        $newFile=$main->ConvertIntoFilename($main->get_file_from_url($_POST['slave_'.$key]),true);
        // On vérifie que le fichier donné est bien une image
        if(($main->chk_img_file($newFile))||$entry['type']=='document'){
            mkdir(substr($uploaddir,0,-1),0777,true);
            $uploadfile=$uploaddir.$newFile;
            if (file_put_contents($uploadfile,file_get_contents($_POST['slave_'.$key]))){$upload_success=true;}
            else {$the_errors[]=$my_messages['upload_error'];$main->delTree(substr($uploaddir,0,-1));}
        }
        else $the_errors[]=$my_messages['no_img'];
    }