Newsgroup: it.comp.www.php
Titolo: PhpMailer inserire Allegato

Ciao a tutti sto cercando di fare un form di invio mail con allegati con 
phpMailer.
Cercando ho trovato questo esempio:
http://www.claudiogarau.it/php/Inviare_allegati_con_PHPMailer.php
il quale funziona bene l'unico problema è che io voglio che l'allegato 
sia inserito dall'utente tramite un input type.
Ho provato a sostituire
$messaggio->AddAttachment('pdf/file.pdf'); (che funziona)
con
$messaggio->AddAttachment($_FILES['input']);
ma non funziona perchè passa solo il nome del file (file.pdf) e non 
tutto il percorso.
In effetti print_r($_FILES); restituisce nomefile.estensione e non tutto 
il percorso.
Possibile che non riesca a leggere il percorso che compare nell'input file??
Grazie dell'attenzione

Roby ha scritto:

Se è un file che hai caricato tramite una form di upload, il path
completo del file (temporaneo) è contenuto in
$_FILES['tuo_campo_file']['tmp_name'] mentre il nome del file è
basename($_FILES['tuo_campo_file']['name'])
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 
Non non l'ho caricato tramite upload (è necessario?)Se metto il percorso 
"a mano" però funziona anche senza "uploddarlo" (forse lo fa già 
phpmailer??)

 (forse lo fa già phpmailer??)
Di quale percorso parli?


 
$messaggio->AddAttachment('/cartella/immagine.jpg');
ad esempio.

Roby ha scritto:

Aspetta forse sto dicendo una cazzata...   nel senso che 
/cartella/immagine.jpg  risiede già sul server.  Non ho provato ad 
esempio con   C:\miopc\immagine.jpg   adesso provo   non dovrebbe 
funzionare giusto?

Roby ha scritto:

Nel tuo messaggio iniziale parli di "form di invio mail con allegati".
Questi allegati da dove vengono? Sono file che risiedono gia' sul
server oppure sono file che vengono selezionati dall'utente sul suo
computer?


 
I file devono essere selezionati dall'utente (quindi risiedono su tale 
computer). Mi ha confuso il fatto che (per provare) ho  inserito come 
allegato "fisso"  questo: /cartella/immagine.jpg
e arrivava al destinatario così ho pensato basta che inserisco il 
percorso del file che voglio allegare ed il gioco è fatto. Solo adesso 
mi è venuto in mente che /cartella/immagine.jpg è un'immagine del sito 
stesso e quindi è gia presente sul server (l'ho uploddata quando ho 
messo online il sito) perforza che la trova.
Logicamente se non faccio un upload sul server del file non può pescarlo.
Adesso provo; ne approfitto per chiederti ancora un'informazione:
gli allegati che verranno caricati sul server (in una cartella immagino 
adesso mi documento) rimangono lì o sono cancellati automaticamente? Nel 
senso dopo che l'utente ha allegato  pippo.jpg alla mail e la mail è 
stata inviata pippo.jpg rimane sul server??
Grazie mille della disponibilità

 alla mail e la mail è stata inviata pippo.jpg rimane sul server??
http://www.php.net/features.file-upload
The file will be deleted from the temporary directory at the end of the
request if it has not been moved away or renamed.


 
Adesso funzionicchia  se uso
$messaggio->AddAttachment$_FILES['upload']['tmp_name']  arriva un 
allegato del tipo   php4C97.tmp  (penso che sia la dir temporanea)
ovviamente manca il nome del file che recupero con
basename($_FILES['upload']['name'])
ma come faccio ad unirlo al percorso ?

 percorso ?
Se vuoi diventare veramente un programmatore, o solo riuscire a fare le
cose con un minimo di autonomia, devi iniziare a prendere l'abitudine
di leggere la documentazione degli strumenti che utilizzi.


 
E' vero in genere preferisco smanettare moltissimo prima di chiedere ma 
devo sistemare assolutamente questo problema entro oggi.
Come concatenare lo so :
$messaggio->AddAttachment ($_FILES['fileupload']['tmp_name'] . 
basename($_FILES['fileupload']['name']));
ma il problema è che così invia la mail ma senza l'allegato.

 E' vero in genere preferisco smanettare moltissimo prima di chiedere
Non mi riferisco a chiedere ad altri, parlo di leggere la
documentazione ufficiale di phpmailer.
