Bonjour tout le monde.
J'ai une question à propos de Ajax Upload, est-ce qu'il peut faire une copie du fichier qu'il upload de chez le client sur le serveur?
Merci pour me répondre
Bonjour tout le monde.
J'ai une question à propos de Ajax Upload, est-ce qu'il peut faire une copie du fichier qu'il upload de chez le client sur le serveur?
Merci pour me répondre
Bonjour,
Upload c'est faire une copie du fichier depuis le client vers le serveur.
Je ne comprend pas ce que tu veux faire.
A+.
Oh! Merci pour me répondre.
Je travaille sur une application que je développe en php avec le framework Symfony.
Je veux copier un fichier compressé du client dans le serveur, donc j'ai créé un AjaxUpload pour pouvoir accéder aux ressources des client.
Voilà le code que j'ai créé :
* Mon fichier newSuccess.php
et voilà la partie de ma classe actions.class.php où je veux traiter le fichier uploader :
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
30
31
32
33
34
35
36
37
38
39
40
41
42 <script type="text/javascript"> $(document).ready(function() { new AjaxUpload('#button', { action: '<?php echo url_for('@test');?>', name: 'userfile', //onComplete : function(file) //{ // alert(file); //} onSubmit : function(file , ext) { if (! (ext && /^(zip|rar)$/i.test(ext))) { // extension is not allowed alert('Error: invalid file extension'); // cancel upload return false; } else { alert('succes'); } } }); }); </script> <div id="cont_frm"> <form action="<?php echo url_for('@test'); ?>" method="post"> <h1>Nouveau Template</h1> <div id="tree"> <label id="labelfile">Emplacement de l'arborescence</label> <input id="button" type="file" /> </div> <div id="infos"> <?php include_partial('form', array('form' => $form)) ?> </div> </form> </div>
J'ai une intuition que l'erreur vient du traitement que je fais là dans la classe actions.class.php mais je n'arrive pas à savoir dans quel endroit.
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 //fonction test public function executeTest(sfWebRequest $request) { $uploaddir = $path = sfConfig::get('sf_web_dir').'/uploads'; $uploadfile = $uploaddir . basename(getFiles('userfile')); if (move_uploaded_file(getFiles('userfile'), $uploadfile)) { $this->msg = "success"; } else { $this->msg = "error"; } }
Merci
Je viens de changer la fonction de teste dans ma classe actions ainsi:
Mais malheureusement il ne reconnait pas 'name' je ne sais pas pourquoi.
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 //fonction test public function executeTest(sfWebRequest $request) { $uploaddir = $path = sfConfig::get('sf_web_dir').'/uploads'; $this->test = $request->getFiles('userfile'); echo $this->test; $uploadfile = $uploaddir . basename($this->test['name']); if (move_uploaded_file($this->test['tmp_name'], $uploadfile)) { $this->msg = "success"; } else { $this->msg = "error"; } }
Salut tout le monde
Après beaucoup de recherches, voilà la solution (comme je l'ai prédit, le problème se situe dans le code de la classe actions )
Voilà le code:
Et ça fonctionne à merveille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 //fonction test public function executeTest(sfWebRequest $request) { foreach($_FILES as $fichier) { $fileName = $fichier['name']; $target = sfConfig::get('sf_upload_dir').'/'.$fileName; move_uploaded_file($fichier['tmp_name'], $target); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager