Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    142

    upload documento su database

    Ciao a tutti!

    mi scuso se la domanda può sembrare superficiale e scontata ma sono nuovo di php

    mi chiedevo come si potesse fare a fare l upload di un documento (che deve essere nel formato .doc,.pdf.odt,.ppt,.odt) in un database tramite php...

    ho provato e testato il codice per fare l upload di immagini e funziona tutto piuttosto bene , la pagina carica sul database l immagine..ora volevo modificare il codice e fare in modo che possa fare l upload solo dei documenti sopracitati....ma nn capisco come modificare

    vi posto il codice:

    codice:
    <?php
    
        require ('dbconnect.php'); // connect to database
    
        if(isset($_POST['upload'])) // Has a file been uploaded?
        {
            // See if it is of one of the allowed mime types, change these if you like
            if (($_FILES['uploadedfile']['type'] == "image/gif")||
                ($_FILES['uploadedfile']['type'] == "image/jpeg"))
            { 
            
                
                // This is the temporary place where it got put on the server after it was uploaded
                $tempfile = $_FILES['uploadedfile']['tmp_name'] ;
                    
                // addslashes so as not to break anything :)
                $data = addslashes(fread(fopen($tempfile, "rb"), filesize($tempfile)));
                
                // pull out useful bits in case they are needed. 
                $filetype = $_FILES['uploadedfile']['type'];
                $filesize = $_FILES['uploadedfile']['size'];
                $filename = $_FILES['uploadedfile']['name'];
        
                // Stick it into the database.
                $query = "INSERT INTO uploads (data,filename,filesize,filetype) VALUES ('$data','$filename','$filesize','$filetype')";
                mysql_query($query);
            }
            // If it wasn't one of the allowed file types do this:
            else 
            {
                echo "Invalid File type
    ";
            }
        }                
    
        // Form to upload a new file, make sure you get the "enctype" or it won't work
        echo "
            <form  enctype='multipart/form-data' name='fileupload' action='upload.php' method='POST'>
        
                <input type='file' name='uploadedfile'> 
                <input type='submit' name='upload' value='Upload File'>
    
            </form>
        ";
    
    ?>
    ovviamente penso che si debba modificare

    codice:
    if (($_FILES['uploadedfile']['type'] == "image/gif")||
                ($_FILES['uploadedfile']['type'] == "image/jpeg"))
    ma nn saprei come....

    ho provato inserendo :
    text/plain
    application/msword
    application/vnd.oasis.opendocument.text
    application/vnd.oasis.opendocument.spreadsheet

    ma mi dava lo stesso Invalid type of file

    grazie mille in anticipo!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    108
    Ciao,
    lo devi necessariamente caricare in un DB?
    Altrimenti la cosa migliore sarebbe quella di creare una directory in cui copi i file di cui fai l'upload e poi memorizzi le info in un db in modo da recuperare il tipo di file.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    108
    Per quanto riguarda il tuo codice io ho risolto in questo modo:


    $image_tempname= $_FILES['image_filename']['name'];

    //Il percorso deve concidere con la directory delle immagini
    $ImageDir = "../image/foto/uploaded/";
    $ImageName = $ImageDir.$image_tempname;

    if(move_uploaded_file($_FILES['image_filename']['tmp_name'],$ImageName))
    {
    //L'immagine è accettabile, si può procedere
    list($width, $height, $type, $attr)= getimagesize("$ImageName");

    //a questo punto nella variabile $tupe ho il tipo dell'immagine che posso controllare

    }

    Spero ti sia utile il codice credo ti basta adattarlo, chiaramente nel db memorizzo solo le info sul file.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    142
    purtroppo si lo devo memorizzare in un database....per poi eventualmente fare un download

    mmmm forse mi sono spiegato male o nn ho capito la risp

    il problema nn sta nel caricare in se...ma nel caricare i documenti e non le immagini (e quindi anke il contenut e nn solo le info del documento)...immagino ch se in quel if metto il
    ['type'] =....... giusto per i documenti funziona o sbaglio?

    cmq grazie mille della risposta e scusate la mia ignoranza

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    108
    No non credo funzioni,
    perchè per le immagine c'è proprio una funziona specifica che prende le info sul file immagine quindi non credo proprio che funzioni, per quanto riguarda la memorizzazione in un db so di per certo che i db hanno il campo specifico per i file,
    prova a vedere qui:

    http://www.html.it/articoli/files-dentro-a-mysql-1/

  6. #6

    Re: upload documento su database

    Originariamente inviato da knuckles
    ovviamente penso che si debba modificare

    codice:
    if (($_FILES['uploadedfile']['type'] == "image/gif")||
                ($_FILES['uploadedfile']['type'] == "image/jpeg"))
    ma nn saprei come....

    ho provato inserendo :
    text/plain
    application/msword
    application/vnd.oasis.opendocument.text
    application/vnd.oasis.opendocument.spreadsheet

    ma mi dava lo stesso Invalid type of file

    grazie mille in anticipo!!!
    Invece provare ad effettuare l'upload di un file e stampare il contenuto di $_FILES['uploadedfile']['type'] per vedere cosa contiene, invece di andare per tentativi, sembrava brutto?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.