Oui j'ai changer d'avis étant donner que l'on est obliger de telecharger le fichier vu qu'on est dans du php comme l'a dis moogli. J'avais trouver une solution afin de faire en sorte que le fichier soit telechargé, puis envoyé par mail, puis ensuite supprimer automatiquement, sa reprend un peu ton code AB.
Oui mais apparemment tu n'as toujours pas compris comment ça fonctionne puisque tu utilises toujours "move_uploaded_file" et que je viens de te dire qu'il n'y en a pas besoin.
1/ Quand le visiteur clique sur "envoyer", le formulaire est envoyé au serveur en incluant le contenu des champs du formulaire (textes + fichiers).
2/ Quand le serveur reçois le formulaire, si celui-ci contient des fichiers alors automatiquement ils sont téléchargés sur le serveur dans un répertoire temporaire et disponibles via les variables $_FILES, les champs textes étant accessibles via les variables $_POST, et tout cela
INDEPENDAMMENT DU CODE PHP QUI SERA EXECUTE A LA SUITE.
On utilise ensuite "move_uploaded_file"
si besoin pour
DEPLACER les fichiers présents dans le répertoire temporaire
vers un autre répertoire du serveur
uniquement si l'on souhaite les garder quelque part sur le serveur.
Dans un code d'envoi de mail avec fichiers joints on utilise pas cette fonction puisque précisément on a pas besoin de les garder sur le serveur - ni envie à cause des virus et autres bestioles qu'ils pourraient contenir. On prend donc le fichier depuis le répertoire temporaire et on le joint au mail.
En utilisant cette méthode on a la meilleure sécurité puisque les fichiers temporaires sont
automatiquement effacés à la fin du script.
Dans ton code, non seulement "move_uploaded_file" ne sert à rien mais en plus, comme tu as déplacé le fichier en dehors du répertoire temporaire, son effacement ne dépend plus que de l'exécution de la fonction unlink avec aucune sécurité si ton script, pour une raison ou pour une autre, était interrompu avant ou si unlink renvoyait une erreur... En bref tu rends ton code plus lourd et finalement moins sécurisé.
[quote="fab-6z"]Oui j'ai changer d'avis étant donner que l'on est obliger de telecharger le fichier vu qu'on est dans du php comme l'a dis moogli. J'avais trouver une solution afin de faire en sorte que le fichier soit telechargé, puis envoyé par mail, puis ensuite supprimer automatiquement, sa reprend un peu ton code AB.
[/quote]
Oui mais apparemment tu n'as toujours pas compris comment ça fonctionne puisque tu utilises toujours "move_uploaded_file" et que je viens de te dire qu'il n'y en a pas besoin.
1/ Quand le visiteur clique sur "envoyer", le formulaire est envoyé au serveur en incluant le contenu des champs du formulaire (textes + fichiers).
2/ Quand le serveur reçois le formulaire, si celui-ci contient des fichiers alors automatiquement ils sont téléchargés sur le serveur dans un répertoire temporaire et disponibles via les variables $_FILES, les champs textes étant accessibles via les variables $_POST, et tout cela [b] INDEPENDAMMENT DU CODE PHP QUI SERA EXECUTE A LA SUITE[/b].
On utilise ensuite "move_uploaded_file" [b]si besoin[/b] pour [b]DEPLACER[/b] les fichiers présents dans le répertoire temporaire[b] vers[/b] un autre répertoire du serveur [b]uniquement[/b] si l'on souhaite les garder quelque part sur le serveur.
Dans un code d'envoi de mail avec fichiers joints on utilise pas cette fonction puisque précisément on a pas besoin de les garder sur le serveur - ni envie à cause des virus et autres bestioles qu'ils pourraient contenir. On prend donc le fichier depuis le répertoire temporaire et on le joint au mail.
En utilisant cette méthode on a la meilleure sécurité puisque les fichiers temporaires sont [b]automatiquement[/b] effacés à la fin du script.
Dans ton code, non seulement "move_uploaded_file" ne sert à rien mais en plus, comme tu as déplacé le fichier en dehors du répertoire temporaire, son effacement ne dépend plus que de l'exécution de la fonction unlink avec aucune sécurité si ton script, pour une raison ou pour une autre, était interrompu avant ou si unlink renvoyait une erreur... En bref tu rends ton code plus lourd et finalement moins sécurisé.