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); } }![]()
![]()
Partager