|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Bonsoir,
j'ai un code qui me permet de mettre un fichier attaché dans un mail, mais je voudrais en mettre 3, donc comment faire ? Je mets le code PHP (c'est l'action du formulaire HTML dans lequel on sélectionne notamment les fichiers à attacher) : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Pour l'upload de fichiers multiples, utilises la syntaxe avec tableaux comme dans l'exemple du manuel
Ensuite tu liste ton tableau pour récupérer les fichiers joints et pour chacun d'entre eux, dans ta boucle tu génère une frontière et le reste. Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#3 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Une question : je crois qu'il faut mettre entre chaque fichier joint la frontière suivante : et seulement tout à la fin la frontière de fin : Est-ce bien ça ?
|
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Citation:
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
|
00
|
|
|
#5 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
J'ai essayé de le faire, mais il n'y a aucun fichier joint ; où est mon erreur ?
Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
|
|
#7 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Super, 5' et j'ai envoyé 2 fichiers joints (le répertoire "uploads", je l'avais oublié, mais il existait déjà, comme j'avais déjà fait le code pour envoyer un seul fichier). Par contre, je n'ai pour l'instant rien fait d'autre (fichiers .htaccess...) ; on verra demain ; il fera jour
|
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
En admettant que tu récupère les attachements, types de fichiers et nom de fichiers dans des tableaux, ta boucle pourrait ressembler à ceci :
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#9 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Pour une raison un peu compliquée à expliquer, je souhaite effectivement ne pas avoir à créer un répertoire "uploads". Par contre, ABCIWEB, comme je n'arrive pas à utiliser ton code, j'ai tenté de modifier celui de ERIC2A : j'ai d'abord enlevé "UPLOADS", donc on uploade dans le même répertoire que le code. Par contre, pour ne pas polluer, après l'envoi du mail, je voudrais effacer les fichiers : c'est là que je coince ; ma boucle est la suivante :
Code :
Code :
$file=basename($_FILES['userfile']['name'][$i]); |
||
|
|
00
|
|
|
#10 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
J'ai trouvé le problème, et bien que ne comprenant pourquoi on a ça, l'ai résolu : avec le script de Eric2A, les underscores des noms de fichier sont supprimés quand on l'uploade et pas dans la variable $_FILES['userfile']['name'][$i]. Comme je me sers de cette variable pour faire le unlink, il faut d'abord retirer dedans les underscores...
|
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Oui, en simplifiant la boucle qui récupère les infos des fichiers téléversés comme ceci par exemple :
Code :
Maintenant, il faut savoir que les fichiers temporaires sont supprimés une fois le script terminé.
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#12 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Je viens de comprendre où sont retirés les underscores ; ici :
Code :
$file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file); |
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Citation:
Il faut donc faire le unlink sur $_FILES['userfile']['tmp_name'][$i]. Mais évidemment il faut le faire après avoir récupéré et encodé son contenu avec chunk_split(base64_encode(file_get_contents($_FILES['userfile']['tmp_name'][$i])));
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
|
00
|
|
|
#14 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Tu as raison, mais comme j'aime me compliquer la vie
, j'ai fait ça : Code :
|
||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Ben oui mais tu ne supprime pas le fichier temporaire sur le serveur en faisant cela puisque le nom du fichier sur le serveur est $_FILES['userfile']['tmp_name'][$i].
Quand tu fais unlink($_FILES['userfile']['name'][$i]) cela ne correspond à rien puisqu'il n'y a aucun fichier portant ce nom sur le serveur. Encore une fois le serveur à téléchargé un fichier qu'il a nommé $_FILES['userfile']['tmp_name'] et c'est lui que tu dois effacer.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com