Bonjour,

public function invoice() {
         $this->layout = 'layoutAdmin';
        if ((($this->request->data'Document']'factures']'tmp_name']))){
        move_uploaded_file($this->request->data'Document']'factures']'tmp_name'], WWW_ROOT.'files/TEST/monfichier.pdf');
        echo 'Le fichier a bien té enregistré';
        }else{ 
        echo 'erreur lors de l\'enregistrement';
        }

        }

J'utilise cette fonction pour copier coller un fichier sélectionner dans un dossier TEST. Ma question est simple, je souhaiterai non pas uploader un fichier, mais tout un dossier. Cela est-il possible ? la réponse est certainement, mais alors comment ?

Merci

4 réponses


Yentia
Réponse acceptée

<input type="hidden" name="MAX_FILE_SIZE" value="104857600" /> <!-- Limite 100Mo -->

sur serveur créer un php.ini avec upload_max_filesize = 20M

sinon si tu travail en local tu trouvera également cette ligne dans ton php.ini sous wamp

sous cakephp j'ai trouvé sa également,
"
create a .htaccess file (in cakePHP there will be a htaccess file in root.).
Add the following code to the .htaccess file

php_value upload_max_filesize 100M
php_value post_max_size 100M

Change values as needed.

thanks

"

Salut,

Je ne pense pas que ce soit possible d'upload totalement un dossier avec php.

par contre je peux te proposer 2 solutions :

  • Compresser ton dossier et sous-dossier dans un zip et uploader ton zip ( normalement php gère le zip )

ou

  • créer une fonction upload recursive pour qu'elle upload tout le contenu de ton dossier.

En espérant t'avoir aidé :)

Hola,

Je suis parti sur l'option ZIP qui me conviendras amplement pour le moment
Par contre il me faut trouver un solution sur taille du fichier, 2Mo me parait trop léger...

Merci de ta réponse

^^

Salut et merci pour ton message. Je ferai les "réglages" pour la taille du fichier plus tard.
J'essai de mettre le site en ligne dans un dossier test et ce n'est pas une mince affaire, en local tout fonctionne , en ligne j'ai rien.
Je vais crée un post pour cela, car je n'ai rien trouvé dans les autres.
Encore merci