Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413

    L' Upload ha dei problemi!!

    Ciao

    ho il seguente form per fare l'upload di 1 file grafico:

    <form name="inserisci" method="post" enctype="multipart/form-data" action="up.php">
    <table bgcolor=#666698 width=50%>
    <tr><td colspan="2" bgcolor=#565788>.: Completa il seguente schema. Nessun campo è obbligatorio</td></tr>
    <tr><td></td></tr>
    <tr><td>Codice del prodotto:</td><td><input type="text" name="codice"></td></tr>
    <tr><td>Descrizione:</td> <td><input type="text" name="descrizione"></td></tr>
    <tr><td>Immagine</td><td><input type="file" name="upfile"></td></tr>

    <tr><td colspan="2" align="center"><input type="submit" name="invia" value="Ok"></td></tr>
    <tr><td><input type="hidden" name="stato" value="admin"></td></tr>
    <tr><td colspan=2 align=center>Clicca <a href=registra2.php?stato=admin>qui</a> per tornare alla gestione</td></tr>
    </table>
    </form>

    Il file up.php upload correttamente il file nella mia cartella. Lo so perché lo vedo.

    Il problema è che nel db anziché il nome del file, mi viene registrato l'intero percorso che il file aveva sul client.
    Di conseguenza quando cerco di far vedere l'immagine che ho mandato, il DB anziché leggere bosco.jpg legge c:\documenti\immagini\bosco.jpg
    E ovviamente non vedo l'immagine che avevo mandato tramite upload !!!


    Come mai

  2. #2
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    beh posta i comandi che salvano nel database... MySQL?

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Si certo MySql

    ecco..

    if (!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/taberna/fotografie";


    $new_name = "";

    $file_name=($new_name) ? $new_name: $_FILES["upfile"]["name"];

    if (trim($_FILES["upfile"]["name"]) == "")
    {
    die ("Non hai inserito il file da uploadare");
    }

    if (@is_uploaded_file($_FILES["upfile"]["tmp_name"]))
    {
    @move_uploaded_file($_FILES["upfile"]["tmp_name"],"$upload_dir/$file_name")
    or die("Impossibile spostare il file. Controllare i permessi sulla cartella");

    }

    else
    {
    die ("Problemi con il file : ". $_FILES["upfile"]["name"]);
    }

    $db_host = "localhost";
    $db_name = "taberna";
    $db_user = "salodb";
    $db_pass = "salobc";

    $db = mysql_connect($db_host, $db_user, $db_pass);

    mysql_select_db($db_name, $db) or die ("Errore nella selezione del DB");


    $sql = "INSERT INTO prodotti2 (codice,descrizione,immagine) values ('$codice','$descrizione','$file_name')";
    echo $sql;
    $inserisci=mysql_query($sql,$db) or die(mysql_error());

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    fai un echo per vedere il valore di $_FILES["upfile"]["name"] e di $file_name

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Aspetta .. ho sbagliato l'inserimento è corretto.
    Il casino succede quando modifico un'immagine. Ora controllo, semmai riposto il codice!!

    Grazie

  6. #6
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Ho notato che non prende il nome dei file se contiene spazi!!
    E' possibile??

    PEr esempio ho inserito:
    showroom.jpg -> ok, lo vedo
    esempio scuola 02.jpg -> non lo vedo!!!

  7. #7
    Guarda che così cmq non inserisci il file nel DB,ma solo il nome del percorso, prova a verificare,prendi il file x=100KB, verifica se la tabella del DB ha incrementato di 100KB...a me non ha inserito alcun file!!!

  8. #8
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Infatti .. è quello che voglio! Inserisco nel DB il nome del file come testo.
    Il file lo memorizzo nella cartella fotografie e po da html metto
    <img src= "fotografie/immagine">
    Però ho visto che se faccio cosi, i nomi dei file che hanno gli spazi non me li prende

  9. #9
    ah ok, allora è tutto normale, prova a sostituire " " con "_", mi hai dato un idea...io come un deficiente cercavo di salvare un intero file nel DB!!!

  10. #10
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    non te li prende cosa?
    mysql? metti i nomi tra 'apici'
    html? sostituiscili con %20

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.