Pagina 1 di 1

Sintassi per spedire più files in attachment

Inviato: 31 ott 2019, 14:21
da Giovannino
Ciao,
con questo loop riesco a identificare tutti i nomi dei file Document(database) che sono inseriti a bordo di un record (multi upload) .

$query = "SELECT `fld_filename` FROM `tb_documents_active` WHERE `fld_document_id` = [glo_protocollo] ";
sc_lookup(rs_attach, $query);

if (isset({rs_attach[0][0]})) // Row found
{
$r=0;
foreach( {rs_attach} as $values)
{
$namefile = {rs_attach[$r][0]};

$r=$r+1;
$attach_path = [path_file_name] .'/'. $namefile ;
}
}

Ottengo ad es questo (senza a capo riga)
C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\eos_ammin_doc\blank_test_downloaad_blob/TASSE.pdf
C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\eos_ammin_doc\blank_test_downloaad_blob/image.png

Nella macro che invia email abbiamo diversi campi e variabili tra cui
$mail_attachments

Ora se si tratta di un file unico non ci sono problemi ma se ne ho più di uno come vanno insertiti in questa variabile ?
Si mette un separatore tra i due nomi ? Si va a capo ?
filename001.xxx , filename002.yyy , filename003.zzz ???? Con , con ; ?

Si può , non si può, come si fà .... non essendo programmatore faccio un po' fatica ...

Re: Sintassi per spedire più files in attachment

Inviato: 03 nov 2019, 21:12
da Vincenzo
Ciao,

credo che se usi la macro sc_mail_send, tu non possa inviare più di un file in allegato, se invece utilizzi la macro sc_send_mail_api($arr_settings), allora puoi mettere quanti allegati vuoi, devi solo riempire la struttura in modo opportuno.

Re: Sintassi per spedire più files in attachment

Inviato: 04 nov 2019, 11:31
da Giovannino
Salve Vincenzo,

grazie della dritta !!!
Spero sia una cosa non troppo complicata ...

Sto guardando no link please:.scriptcase.net/tutorials/ema ... api-macro/
ma non vedo campi attachment... o sbaglio ?

Re: Sintassi per spedire più files in attachment

Inviato: 05 nov 2019, 18:41
da Vincenzo
In quell'esempio non ci sono allegati, anzi, la struttura PHP che viene passata alla macro la riempono le varie funzioni get_settings_* di cui non vedo il codice, in ogni caso prova in giro a vedere qualche esempio di composizione delle api mandrill per inviare mail da mailchimp, hanno usato lo stesso metodo e quindi la stessa struttura di invio email.

Re: Sintassi per spedire più files in attachment

Inviato: 06 nov 2019, 14:53
da Giovannino
Ciao Vincenzo,
sono riuscito (fiumi di sangue ;-) ) a fare tutto il giro creando zip e allegandolo correttamente alla mail.

Ora per finire in ... bellezza il giro stavo cercado di pulire i file che temporaneamente appoggio sul server (loro sono fisicamente nel db) .
Sto studiando l'uso di unlink ... con tutte le prove del caso . No way !!!
Se mail ok poi vorrei cancellare sia i files che lo zip .. Per ora cancella solo il .zip .
Nel 'luppino' lui trova i singoli file inseriti nello zip ma non li cancella. Se fosse problema di permessi non cancelerebbe neanche lo zip quindi non credo serva cmod... boh... io non essendo programmatore arrivo fino ad un certo punto poi mi blocco.
{rs_attach} è l'array dei nomi files allegati. --- [path_file_name] = getcwd() ;

if ({sc_mail_ok})
{
$r1=0;
foreach ({rs_attach} as $file1)
{
$namefile1 = {rs_attach[$r1][0]};
//echo [path_file_name]."/". $namefile1 ;
unlink([path_file_name] ."/". $namefile1 );
$r1=$r1+1;
}
unlink(realpath([path_file_name] .'/'. $zipfilename));

echo "<script>window.alert('Inviata nr {sc_mail_count} e-mail(s) con successo.');</script>";
echo "<script>window.close();</script>";

Grazie

Re: Sintassi per spedire più files in attachment

Inviato: 06 nov 2019, 14:54
da Giovannino
scusa..... realpath l'ho aggiunto ma non provato ancora

Re: Sintassi per spedire più files in attachment

Inviato: 06 nov 2019, 15:06
da Giovannino
appena provato.... non cambia nulla
Zip cancellato e files no...

Re: Sintassi per spedire più files in attachment

Inviato: 11 nov 2019, 12:00
da Giovannino
File singoli .... nada de nada
Zip OK ! Cancella


foreach ({rs_attach} as $file1)
{
$namefile1 = {rs_attach[$r1][0]};
unlink([path_file_name] ."/". $namefile1 );
$r1=$r1+1;
}
unlink([path_file_name] .'/'. $zipfilename));

Mistero .... !!!

Re: Sintassi per spedire più files in attachment

Inviato: 11 nov 2019, 18:44
da Vincenzo
se rs_attach contiene solo i nomi dei file da cancellare, farei piuttosto

Codice: Seleziona tutto

foreach ({rs_attach} as $file1)
{
	unlink([path_file_name] ."/". $file1 );
}
unlink([path_file_name] .'/'. $zipfilename));
caso mai, la prima volta, fai un echo e non fare unlink nel ciclo, così da essere sicuri di cosa cancelli...

Re: Sintassi per spedire più files in attachment

Inviato: 13 nov 2019, 10:29
da Giovannino
Ciao Vincenzo e grazie della rispo.

provato anche questo e purtroppo non sembra funzioni o probabile sbaglio ancora qualcosa io.
Mi da errore di Array to string...

if ({sc_mail_ok})
{
$query_del = "SELECT `fld_filename` FROM `tb_documents_active` WHERE `fld_document_id` = [glo_protocollo] ";
sc_lookup(rs_del, $query_del);

foreach ({rs_del} as $file1)
{
unlink([path_file_name] .'/'. $file1 );
}
}

La query per un esempio di nr protocollo mi dà come output
01.png
02.png
03.png

Se faccio con

$i=0;
foreach ({rs_del} as $file1)
{
$namefile1 = {rs_del[$i][0]};
unlink([path_file_name] .'/'. $namefile1 );
$i = $i + 1;
}

non mi da errore ma non fa niente... ;-((