Joomla.it Forum
Componenti per Joomla! => Gestione Form => : TheSamu 13 Feb 2012, 17:04:44
-
Rieccomi....di nuovo! ;D
Ho avuto la necessità di fare l'update di un file pdf, ed ecco il problema!
Avevo calcolato di fare l'update di soli file immagine e quindi facendo l'update di un pdf oltre a non farmii vedere nessun'anteprima non posso nemmeno scaricarlo
che codice posso usare per visualizzare un icona standard e scaricare il file
grazie in anticipo
-
occorre uno script php che verifica il tipo di estensione del file ed in caso di pdf o altro mostra un'icona del tipo di file con il link per il download.
-
modifico la risposta...
utilizzando
<a href="images/risorse/{ris_file_carta_identita}">Download file</a
però rimane permanente la scritta "download file" anche quando il file non esiste
ho utilizzando un modo "alternatvo" e quasi separato da joomla
nel code di chronoform ho inserito:
<a href="downloadidentita.phpfile={ris_file_carta_identita}">Download file</a>
mentre nel file downloadidentita.php ho inserito
<?php
// definisco una variabile con il percorso alla cartella
// in cui sono archiviati i file
$dir = "images/risorse/";
// Recupero il nome del file dalla querystring
// e lo accodo al percorso della cartella del download
$file = $dir . $_GET['{ris_file_carta_identita}'];
// verifico che il file esista
if(!file)
{
// se non esiste chiudo e stampo un errore
die("Il file non esiste!");
}else{
// Se il file esiste...
// Imposto gli header della pagina per forzare il download del file
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename= " . $file);
header("Content-Transfer-Encoding: binary");
// Leggo il contenuto del file
readfile($file);
}
?>
problema il link aggancia una pagina che non esiste
http://www.nomedelsito.it/directory/downloadidentita.phpfile=20120301185331_invoice_33ZMXSQ8UB7A51O2C5IX35PF9198H8.pdf
idee su cosa devo correggere?
-
non ti fa vedere il file ma ci sta..
quindi se il suo indirizzo completo di nome ed estensione lo scrivi poi lo scarichi,
molto più difficile da pensare che da fare.
-
mi sono accorto di diversi errori e ho modificato in questo modo
il puntamento corretto che ho inserito nel code di chronoform
<a href="downloadidentita.php?filename={ris_file_carta_identita}">Download file con filename</a><br>
funziona anche in questo modo
<a href="downloadidentita.php?{ris_file_carta_identita}">Download file con filename</a><br>
il problema è che ora il download parte...ma invece del file pdf o dell'immagine mi scarica una pagina html che viene rinominata come il puntamento in questo caso images_risorse_
l'url che mi da il collegamento e' il seguente:
senza ?filename
http://www.nomedelsito.it/directory/downloadidentita.php?file_pdf.pdf
con ?filename
http://www.nomedelsito.it/directory/downloadidentita.php?filename=file_pdf.pdf
-
ho modificato ulteriormente il file downloadidentita.php in questo modo
<?php
// definisco una variabile con il percorso alla cartella
// in cui sono archiviati i file
$dir = "/images/risorse/";
// Recupero il nome del file dalla querystring
// e lo accodo al percorso della cartella del download
$file = $dir . $_GET['filename'];
// verifico che il file esista
if(!file)
{
// se non esiste chiudo e stampo un errore
die("Il file non esiste!");
}else{
// Se il file esiste...
// Imposto gli header della pagina per forzare il download del file
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename= " . $file);
header("Content-Transfer-Encoding: binary");
// Leggo il contenuto del file
readfile($file);
}
?>
la differenza tra prima e ora e' che prima scaricava un file html chiamato come la directorì sostituendo / con _
images_risorse.html
ora mi scarica sempre un file html ma aggiunge il nome del file
images_risorse_file_pdf.html
a questo punto non so' come risolvere il problema
-
Ho mezzo una pezza...visto che il problema era il puntamento ho sistemato in questo modo:
ho messo il file downloadidentita.php in directory/images/risorse
nel file downloaddidentita.php ho rimosso in $dir la patch
$dir = "";
potevo anche commentarla, ma lo lascio così comè...caso mai in futuro mi venisse l'illuminazione su come sistemarlo
mentre nel codice del form ho scritto:
<a href="/directory/images/risorse/downloadidentita.php?filename={ris_file_carta_identita}">Scarica file</a><br>
a questo punto mi scarica il file nel formato corretto
rimangono ancora dei problemi quindi non so' se mettere risolto
cioè: se il file viene cancellato manualmente il puntamento nel form rimane e cliccandoci scarica un file cancellato (joomla fà miracoli)
se invece il file ha spazi non viene scaricato quindi o devo trovare un modo di far rinominare i spazi con _ o devo scrivere tra i tips di non mettere spazi
metto risolto?
-
non sono molto pratico in php ma quel file non riuscirei a metterlo nel codice? perché scritto così è solamente un mega paiativo...
;D ;D ;D se il file non esiste mi scarica {il_nome_del_feld} ;D ;D ;D