Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216

    caricare immagini database

    Salve, ho un form che carica immagini su un database mysql;
    il nome del file, dimensione, ecc. sono ok ma non riesco a caricare
    l'immagine
    in un campo mediumblob. Mi potete aiutare?
    Questo è il form:
    • <form action="control_panel.php" method="post"
      enctype="multipart/form-data">
      <table align="left" width="60%" cellpadding="1px" cellspacing="1"
      border="1" bordercolor="#000000">

      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td style="text-align: right">
      <label class="etichetta">Nome del file:</label> </td>
      <td colspan="2"> <input type="text" name="nome_file" size="43">
      </td>
      </tr>
      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td></td>
      </tr>

      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td style="text-align: right">
      <label class="etichetta">Testo:</label> </td>
      <td colspan="2"> <input type="text" name="testo" size="43">
      </td>
      </tr>
      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td></td>
      </tr>

      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td style="text-align: right">
      <label class="etichetta">Link:</label> </td>
      <td colspan="2"> <input type="text" name="link" size="43">
      </td>
      </tr>
      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td></td>
      </tr>

      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td style="text-align: right">
      <label class="etichetta">File:</label> </td>
      <td colspan="2"> <input type="file" name="uploadfile" size="30">
      </td>
      </tr>
      <tr bordercolor="#FFFFFF" style="vertical-align: top">
      <td></td>
      </tr>

      <tr bordercolor="#FFFFFF" align="right" style="vertical-align: top">
      <td width="100px"></td>
      <td colspan="2" align="right">
      <input type="image" src="../images/invia.png" height="22"
      width="90"> </td>
      </tr>
      </table> </form>

    E questo è lo script php:
    Codice PHP:
    <?php
    include "config.php";

    do {
      if (
    is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
    $nome_file stripslashes($_POST['nome_file']);
    $testo stripslashes($_POST['testo']);
    $link $_POST['link'];

        
    // Sposto il file nella cartella da me desiderata
        
    if (!move_uploaded_file(stripslashes($_FILES['uploadfile']['tmp_name']), 
    'files/'.stripslashes($_FILES['uploadfile']['name']))) {
          
    $msg =  "<script type=\"text/javascript\">
                   alert(\"Errore nel caricamento del file!\")
                   </script>"
    ;
        }
     
    //controllo del tipo del file caricato
     
    if($_FILES['uploadfile']['type'] == "application/msword") {
     
    $tipo "DOC";
     }
     if(
    $_FILES['uploadfile']['type'] == "image/gif") {
     
    $tipo "GIF";
     }
     if((
    $_FILES['uploadfile']['type'] == "image/jpeg") || 
    (
    $_FILES['uploadfile']['type'] == "image/pjpeg")) {
     
    $tipo "JPG";
     }
     if(
    $_FILES['uploadfile']['type'] == "image/tiff") {
     
    $tipo "TIFF";
     }
     if(
    $_FILES['uploadfile']['type'] == "image/bmp") {
     
    $tipo "BMP";
     }

     
    //controllo della dimensione del file caricato
     
    if($_FILES['uploadfile']['size'] < 1024) {
      
    $dimensione $_FILES['uploadfile']['size']." b";
     }
     if((
    $_FILES['uploadfile']['size'] >= 1024) && 
    (
    $_FILES['uploadfile']['size'] < 1048576)) {
      
    $dimensione round(($_FILES['uploadfile']['size'] / 1024), 0)." Kb";
     }
     if(
    $_FILES['uploadfile']['size'] >= 1048576) {
      
    $dimensione round(($_FILES['uploadfile']['size'] / 1048576), 0)." Mb";
       }

    //inserimento del file nel database
    $sql "INSERT INTO files (file, nome_file, testo, link, mime, url_file, 
    dimensione, tipo, immagine) VALUES ('"
    .$_FILES['uploadfile']['name']."',
      '"
    .$nome_file."', '".$testo."', '".$link."', 
    '"
    .$_FILES['uploadfile']['type']."', '', '".$dimensione."', '".$tipo."', 
    '"
    .$immagine."')";
    $res mysql_query ($sql) or die (mysql_error());

          
    $msg =  "<script type=\"text/javascript\">
                   alert(\"File caricato con successo!\")
                   </script>"
    ;


      }
    } while (
    false);
    echo 
    $msg;
    ?>

  2. #2
    che logica ha salvare l'immagine dentro un database appesantendolo?
    salvi l'immagine in una cartella ed il suo percorso nel database

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216
    Ho risolto da solo grazie lo stesso

  4. #4
    Originariamente inviato da Mas245
    che logica ha salvare l'immagine dentro un database appesantendolo?
    salvi l'immagine in una cartella ed il suo percorso nel database
    A prescindere che i DB MySQL hanno il campo BLOB che serve proprio per salvare file (di qualsiasi tipo) in formato binario, e che sono ottimizzati proprio per trattare quantità di dati anche grandi, hai ragione a parlare di logica.
    Solitamente, nei DB si salvano le immagini per motivi di portabilità.
    Per una semplice applicazione web, consiglio anche io di salvare solo il nome del file ed eventualmente il percorso.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    piu che altro....il db si paga...lo spazio che compri nei domini è illimitato invece
    V.I.S.T.A. --> Virus Inside, Switch To Apple

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.