Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: Download File Da Php

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80

    Download File Da Php

    Salve a tutti. Io ho un'ulteriore problema con PHP. Mi sono creato il mio bel database con un campo mediumblob su cui io carico un file pdf. fin qui tutto a posto (i file li carico via phpmyadmin, ma penso di riuscire anche a usare tranquillamente un post), il problema sorge quando io mi voglio ripescare questo file, perche se faccio la query normale mi succede che ovviamente (io parto dal presupposto che il computer anche se stupido ha sempre ragione) mi restituisce una stringa con caratteri incomprensibili al posto del file, come posso fare per creare un tasto che mi downloada il file....

  2. #2

    Re: Download File Da Php

    Originariamente inviato da Fackie76
    Salve a tutti. Io ho un'ulteriore problema con PHP. Mi sono creato il mio bel database con un campo mediumblob su cui io carico un file pdf. fin qui tutto a posto (i file li carico via phpmyadmin, ma penso di riuscire anche a usare tranquillamente un post), il problema sorge quando io mi voglio ripescare questo file, perche se faccio la query normale mi succede che ovviamente (io parto dal presupposto che il computer anche se stupido ha sempre ragione) mi restituisce una stringa con caratteri incomprensibili al posto del file, come posso fare per creare un tasto che mi downloada il file....


    che fai???? salvi il pdf nel database??? mattoooooooooooooooooooooooooooooo

    senti Fac, cambia subito tutto e non salvare file (di qualunque tipo) in binario nel database... ma che sei matto? poi se la prendi come abitudine sai che succede? te lo racconto:

    una nota agenzia immobiliare di roma si è fatta fare il sito da una società che ha operato nella seguente maniera: tutte le immagini, addirittura in alta risoluzione, invece di farle uplodare nel sito e gestirle a livello di filesystem, hanno fatto come hai fatto te, le hanno salvate in campi blob all'interno del database. Morale della storia: visto che il sito è enorme e contiene una marea di immagini, il database è collassato ed ora gira su un server dedicato a 16 core che cmq fa fatica a gestire le richieste e ogni tanto crolla... e non ti dico quanto paga la società immobiliare di housing al mese per avere su il tutto

    quindi, non salvarti i file binari nel database a meno che proprio non ci sia altro modo al mondo per raggiungere i tuoi scopi

    per il secondo punto, quello del download, prova a leggere: http://www.giorgiotave.it/guida_php/download_file.php

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Grazie Santino, ma allora io ho ancora bisogno del tuo aiuto, io pensavo che il database non servisse solo per diciamo gestire tabelle ecc, ma anche per effettuare lo storage e il prelievo di file, esistono molti siti su internet che offrono servizi di questo tipo (io per lavoro ho utilizzato proprio uno di questi). Ma se non li mettono del database come si effettua l'upload e il download e sopratutto da dove si effettua.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Allora, scusa se ragiono a voce alta, ma se fosse possibile far caricare i file al database dentro una cartella locale del server allora significa che con php io potrei anche crearmi un link a quella cartella diciamo con un bottone?. Avevo aperto ieri una discussione di questo tipo e Portapipe mi ha risposto che con php me lo posso sognare e che dovrei usare java, te cosa mi dici? Mi consigli di buttare il lavoro che ho fatto (è circa 3 settimane che lavoro su php, quindi non ne capisco niente e il lavoro in effetti non è molto. Per il momento mi sono creato 6 tabelle con circa 20 record per tabella e relative relazioni con phpmyadmin su database mysql. poi mi sono fatto 6/7 paginette web .php per accedere ai dati. Se le devo buttare e reiniziare con java mi sparo...)

  5. #5
    Originariamente inviato da Fackie76
    Grazie Santino, ma allora io ho ancora bisogno del tuo aiuto, io pensavo che il database non servisse solo per diciamo gestire tabelle ecc, ma anche per effettuare lo storage e il prelievo di file, esistono molti siti su internet che offrono servizi di questo tipo (io per lavoro ho utilizzato proprio uno di questi). Ma se non li mettono del database come si effettua l'upload e il download e sopratutto da dove si effettua.
    nel database si mettono solo riferimenti a files, quidni o i soli nomi dei file, oppure direttamente la path di dove l'hai salvato nell'harddisk.. per l'upload, prova intanto a vedere in giro, ad esempio ho trovato al volo su google http://www.tizag.com/phpT/fileupload.php

    comunque devi fare un form per l'upload dei file e uno script php che gestisca tale upload... non penso che tu possa usare phpmyadmin per questo

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Scusa ancora.... sul mio nick.... fackie (italianizzato, perchè in originale credo sia fakie) è un andatura sulla tavola da snow e non un offesa, questo lo specifico perchè magari qualcuno si potrebbe offendere

  7. #7
    Originariamente inviato da Fackie76
    Allora, scusa se ragiono a voce alta, ma se fosse possibile far caricare i file al database dentro una cartella locale del server allora significa che con php io potrei anche crearmi un link a quella cartella diciamo con un bottone?. Avevo aperto ieri una discussione di questo tipo e Portapipe mi ha risposto che con php me lo posso sognare e che dovrei usare java, te cosa mi dici? Mi consigli di buttare il lavoro che ho fatto (è circa 3 settimane che lavoro su php, quindi non ne capisco niente e il lavoro in effetti non è molto. Per il momento mi sono creato 6 tabelle con circa 20 record per tabella e relative relazioni con phpmyadmin su database mysql. poi mi sono fatto 6/7 paginette web .php per accedere ai dati. Se le devo buttare e reiniziare con java mi sparo...)
    la discussione l'ho seguita e portapipe ha ragione, che in php te lo sogni o quasi di aprire l'esplora risorse di windows (o almeno non so se c'è un modo ) perchè... perchè lavori a livelli diversi OS - PHP - Pagina Web sono su tre livelli distinti. os e php tanto tanto comunicano tra di loro , ma pagina web e php ad esempio non comunicano affatto... in php ci sono api per aprire cartelle e leggerne i contenuti, solo che poi vanno graficati in html le infoemazioni che ricevi... puoi provare a configurare il webserver per far si che se punti a http://localhost/path/to/folder_dove_salva_i_file te lo apra come l'esplora risorse, ma non so aiutarti a riguardo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Originariamente inviato da Fackie76
    Scusa ancora.... sul mio nick.... fackie (italianizzato, perchè in originale credo sia fakie) è un andatura sulla tavola da snow e non un offesa, questo lo specifico perchè magari qualcuno si potrebbe offendere
    vabbeh ma in inglese la parolaccia mica si scrive FAC
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    No certo che no non uso phpmyadmin per gestire l'upload dei file. La mia domanda è proprio questa, io mi faccio il mio bel form con dreamweaver con tutti i miei bei campi, anzi l'ho già fatto per passare delle domande a un database (in basso ti allego un po' di codice), e non penso di avere problemi a farne uno per caricare il file, ma il mio problema è dove caspita lo vado a mettere questo file se non in un campo blob, e inoltre come faccio a farmi un link quando estraggo i risultati di una query che mi rimanda a scaricare il file oppure alla cartella dove è stato salvato? Non so se sono stato chiaro.....



    $NOME = $_POST['Nome_lavoro'];
    $TIPO = $_POST['Scegli_tipo'];
    /* Connessione e selezione del database */
    $connessione = mysqli_connect("localhost", "pippo", "pluto", "paperino")
    or die("Connessione non riuscita");

    If ($TIPO == 0) {

    /* Esecuzione di una query SQL */
    $query = "SELECT DISTINCT lavori.nome, archivio.raccoglitore, archivio.contenuto, archivio.scaffale, archivio.note, archivio.link FROM lavori LEFT JOIN archivio ON lavori.id = archivio.id_archivio WHERE lavori.nome LIKE '%$NOME%'";
    $risultato = mysqli_query($connessione,$query) or die("Query fallita");
    /* Stampa dei risultati in HTML */
    print "<table>\n";

    echo "<table border =\"1\" cellspacing=\"0\" >";

    while ($linea = mysqli_fetch_array($risultato, MYSQLI_ASSOC)) {
    extract ($linea);


    echo " <td>$nome</td>";
    echo " <td>$raccoglitore</td>";
    echo " <td>$contenuto</td>";
    echo " <td>$scaffale</td>";
    echo " <td>$note</td>";
    echo " <td>$link</td></tr>";

    }
    echo "</table>";
    } else {

    /* Esecuzione di una query SQL */
    $query = "SELECT DISTINCT lavori.nome, archivio.raccoglitore, archivio.contenuto, archivio.scaffale, archivio.note, archivio.link FROM lavori LEFT JOIN archivio ON lavori.id = archivio.id_archivio WHERE lavori.ID LIKE '%$NOME%'";
    ;$risultato = mysqli_query($connessione,$query) or die("Query fallita");
    /* Stampa dei risultati in HTML */
    print "<table>\n";

    echo "<table border =\"1\" cellspacing=\"0\" >";

    while ($linea = mysqli_fetch_array($risultato, MYSQLI_ASSOC)) {
    extract ($linea);


    echo " <td>$nome</td>";
    echo " <td>$raccoglitore</td>";
    echo " <td>$contenuto</td>";
    echo " <td>$scaffale</td>";
    echo " <td>$note</td>";
    echo " <td>$link</td></tr>";

    }
    echo "</table>";
    }

    /* Liberazione delle risorse del risultato */
    mysqli_free_result($risultato);
    /* Chiusura della connessione */
    mysqli_close($connessione);
    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    lo so lo so (relativo alla parolaccia) io non mi riferivo certo a te, solo che alcune volte gli utenti mi chiedono perchè li mandi a quel paese in anticipo...

    scusa non volevo certo riferirmi a te... soprattutto al massimo la parola inglese sarebbe tankssssssssssssssssss

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.