Bonsoir tout le monde,

Je suis en train de faire une fonctionnalité pour envoyer un mail avec une pièce jointe et j'ai une erreur que je n'arrive pas a résoudre.

Voilà pour commencer le code PHP pour la pièce jointe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
if (isset($_FILES['monfile']) AND $_FILES['monfile']['error'] == 0)
{
        $nomfichier = $_FILES['monfile']['name'];
        $cheminfichier = $_FILES['monfile']['tmp_name'];
	$typeficher = $_FILES['monfile']['type'];
 
 
        $piecejointe = 'Content-Type: ' . $typeficher . '; name="' . $nomfichier . '"'.'\n';
	$piecejointe .= 'Content-Transfer-Encoding: base64'.'\n';
	$piecejointe .= 'Content-Disposition:attachement; filename="' . $nomfichier . '"'.'\n\n';
 
        $piecejointe = chunk_split(base64_encode(file_get_contents("'" . $cheminfichier . $nomfichier . "'")))."\n";
}
Et voilà les messages d'erreur :

Warning: file_get_contents() [function.file-get-contents]: Unable to access /tmp/php7uRmybEnigmesTSIG1A.xlsx in /home/var/www/vhosts/recherche-devis.com/httpdocs/online/contact.php on line 76

Warning: file_get_contents('/tmp/php7uRmybEnigmesTSIG1A.xlsx') [function.file-get-contents]: failed to open stream: No such file or directory in /home/var/www/vhosts/recherche-devis.com/httpdocs/online/contact.php on line 76

La ligne 76 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$piecejointe = chunk_split(base64_encode(file_get_contents("'" . $cheminfichier . $nomfichier . "'")))."\n";
En faite il se trouve que le fichier n'est donc pas dans '/tmp/php7uRmybEnigmesTSIG1A.xlsx' mais après la saisie dans le formulaire pour répondre, si l'utilisateur choisi une pièce jointe, comment je peux l'enregistrer dans le répertoire du site tmp?

Voilà j'espère que vous allez pouvoir m'aider et surtout que j'ai été clair.

Merci à vous.

Amicalement, Florian.