Discussione:
PhpMailer inserire Allegato
(troppo vecchio per rispondere)
Roby
2008-08-01 11:43:41 UTC
Permalink
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
Filippo Toso - Creative Park
2008-08-01 13:14:45 UTC
Permalink
Post by Roby
Ciao a tutti sto cercando di fare un form di invio mail con allegati
con phpMailer.
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??
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/
Roby
2008-08-01 16:32:45 UTC
Permalink
Post by Filippo Toso - Creative Park
Post by Roby
Ciao a tutti sto cercando di fare un form di invio mail con allegati
con phpMailer.
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??
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'])
Non non l'ho caricato tramite upload (è necessario?)Se metto il percorso
"a mano" però funziona anche senza "uploddarlo" (forse lo fa già
phpmailer??)
Filippo Toso - Creative Park
2008-08-01 16:34:33 UTC
Permalink
Post by Roby
Non non l'ho caricato tramite upload (è necessario?)
Se non lo carichi sul server, come fa il PHP inviarlo?
Post by Roby
Se metto il percorso "a mano" però funziona anche senza "uploddarlo"
(forse lo fa già phpmailer??)
Di quale percorso parli?
--
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/
Roby
2008-08-01 16:36:17 UTC
Permalink
Post by Filippo Toso - Creative Park
Post by Roby
Non non l'ho caricato tramite upload (è necessario?)
Se non lo carichi sul server, come fa il PHP inviarlo?
Post by Roby
Se metto il percorso "a mano" però funziona anche senza "uploddarlo"
(forse lo fa già phpmailer??)
Di quale percorso parli?
$messaggio->AddAttachment('/cartella/immagine.jpg');

ad esempio.
Roby
2008-08-01 16:40:21 UTC
Permalink
Post by Roby
Post by Filippo Toso - Creative Park
Post by Roby
Non non l'ho caricato tramite upload (è necessario?)
Se non lo carichi sul server, come fa il PHP inviarlo?
Post by Roby
Se metto il percorso "a mano" però funziona anche senza "uploddarlo"
(forse lo fa già phpmailer??)
Di quale percorso parli?
$messaggio->AddAttachment('/cartella/immagine.jpg');
ad esempio.
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?
Filippo Toso - Creative Park
2008-08-01 16:44:28 UTC
Permalink
Post by Roby
Post by Filippo Toso - Creative Park
Post by Roby
Non non l'ho caricato tramite upload (è necessario?)
Se non lo carichi sul server, come fa il PHP inviarlo?
Post by Roby
Se metto il percorso "a mano" però funziona anche senza
"uploddarlo" (forse lo fa già phpmailer??)
Di quale percorso parli?
$messaggio->AddAttachment('/cartella/immagine.jpg');
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?
--
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/
Roby
2008-08-01 16:54:50 UTC
Permalink
Post by Filippo Toso - Creative Park
Post by Roby
Post by Filippo Toso - Creative Park
Post by Roby
Non non l'ho caricato tramite upload (è necessario?)
Se non lo carichi sul server, come fa il PHP inviarlo?
Post by Roby
Se metto il percorso "a mano" però funziona anche senza
"uploddarlo" (forse lo fa già phpmailer??)
Di quale percorso parli?
$messaggio->AddAttachment('/cartella/immagine.jpg');
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à
Filippo Toso - Creative Park
2008-08-01 17:05:34 UTC
Permalink
Post by Roby
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
Allora devi creare una form di upload ed utilizzare i riferimenti
inseriti nel mio primo post per allegare all'email il file caricato
dall'utente.
Post by Roby
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??
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.
--
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/
Roby
2008-08-01 17:20:25 UTC
Permalink
Post by Filippo Toso - Creative Park
Post by Roby
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
Allora devi creare una form di upload ed utilizzare i riferimenti
inseriti nel mio primo post per allegare all'email il file caricato
dall'utente.
Post by Roby
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??
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 ?
Filippo Toso - Creative Park
2008-08-01 17:23:24 UTC
Permalink
Post by Roby
$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 ?
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.
--
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/
Roby
2008-08-01 17:33:56 UTC
Permalink
Post by Filippo Toso - Creative Park
Post by Roby
$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 ?
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.
Filippo Toso - Creative Park
2008-08-01 19:40:28 UTC
Permalink
Post by Roby
Post by Filippo Toso - Creative Park
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
Non mi riferisco a chiedere ad altri, parlo di leggere la
documentazione ufficiale di phpmailer.
--
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/
Loading...