Visualizzazione dei risultati da 1 a 3 su 3

Discussione: upload file binari

  1. #1

    upload file binari

    Salve a tutti, ho questo problema, sto lavorando con una versione di php 4.4.8
    ho creato il seguente file x l'upload di file binari

    <?php

    if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
    $self = isset($_SERVER) ? $_SERVER["PHP_SELF"] : $HTTP_SERVER_VARS["PHP_SELF"];

    if($_POST["invia"]) {

    // CONNESSIONE AL MYSQL
    @mysql_connect("", "", "") or die("Connessione fallita !");

    // SELEZIONE DATABASE
    @mysql_select_db("") or die("Selezione Database fallita !");

    // MEMORIZZIAMO NELLA VARIABILE $data IL CONTENUTO DEL FILE
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    // ESEGUIAMO LA QUERY DI INSERIMENTO
    $result = @mysql_query("INSERT INTO file_binari (Descrizione, DatiBinari, Nome, Size, Type)
    VALUES ('" . $_POST["Descrizione"] . "','$data','" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "','" . $_FILES["file_binario"]["type"] . "')")
    or die("Query di inserimento fallita !");

    // ESITO POSITIVO
    echo "Il file " . basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";

    // CHIUDIAMO LA CONNESSIONE A MYSQL
    @mysql_close();

    } else {

    echo "
    <html>
    <head>
    <title>Form per l'inserimento</title>
    </head>
    <body>

    <div align=\"center\">
    <table>>
    <form action=\"$self\" method=\"POST\" enctype=\"multipart/form-data\">
    <tr>
    <td valign=\"top\">Descrizione </td>
    <td><textarea name=\"Descrizione\" cols=\"40\" rows=\"5\"></textarea></td>
    </tr>
    <tr>
    <td>File</td>
    <td><input type=\"file\" name=\"file_binario\" size=\"40\"></td>
    </tr>>
    <tr>
    <td colspan=\"2\" valign=\"bottom\" align=\"center\" height=\"30\">
    <input type=\"submit\" value=\"Invia il file\" name=\"invia\"></td>
    </tr>
    </form>
    </table>
    </div>

    </body>
    </html>
    ";

    }

    ?>

    lo script funziona, nel senso che mi invia i dati inseriti senza errori, ma quando vado ad aprire il file non è presente nessun contenuto, 0 bytes presenti, qualcuno sa il motivo?
    tante grazie

  2. #2
    Normale che non scriva niente nel database.
    Quando esegui la query in @mysql_query non inserisci il riferimento alla connessione, prova così:

    Codice PHP:

    // CONNESSIONE AL MYSQL
    $connect = @mysql_connect("""""") or die("Connessione fallita !");

    // SELEZIONE DATABASE
    @mysql_select_db(""$connect) or die("Selezione Database fallita !");

    // MEMORIZZIAMO NELLA VARIABILE $data IL CONTENUTO DEL FILE
    $data addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    $query_db "INSERT INTO file_binari (Descrizione, DatiBinari, Nome, Size, Type) 
    VALUES ('" 
    $_POST["Descrizione"] . "','$data','" $_FILES["file_binario"]["name"] . "', 
    '" 
    $_FILES["file_binario"]["size"] . "','" $_FILES["file_binario"]["type"] . "')"

    // ESEGUIAMO LA QUERY DI INSERIMENTO
    $result = @mysql_query($query_db$connect) or die("Query di inserimento fallita !");

    // ESITO POSITIVO
    if ($result) {
    echo 
    "Il file " basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";
    } else {

    echo 
    "C'è stato un problema: " mysql_error(); 
    poi agigungi il resto
    daN.

  3. #3
    ciao ho fatto come dici, ho provato a cambiare ma mi da il seguente errore

    Parse error: syntax error, unexpected T_VARIABLE in filebinari.php on line 22
    ossia questa linea
    $result = @mysql_query($query_db, $connect) or die("Query di inserimento fallita !");

    <?php

    if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
    $self = isset($_SERVER) ? $_SERVER["PHP_SELF"] : $HTTP_SERVER_VARS["PHP_SELF"];

    if($_POST["invia"]) {

    // CONNESSIONE AL MYSQL
    @mysql_connect("", "", "") or die("Connessione fallita !");

    // SELEZIONE DATABASE
    @mysql_select_db("") or die("Selezione Database fallita !");

    // MEMORIZZIAMO NELLA VARIABILE $data IL CONTENUTO DEL FILE
    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    $query_db = "INSERT INTO file_binari (Descrizione, DatiBinari, Nome, Size, Type)
    VALUES ('" . $_POST["Descrizione"] . "','$data','" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "','" . $_FILES["file_binario"]["type"] . "')"

    // ESEGUIAMO LA QUERY DI INSERIMENTO
    $result = @mysql_query($query_db, $connect) or die("Query di inserimento fallita !");

    // ESITO POSITIVO
    if ($result) {
    echo "Il file " . basename($_FILES["file_binario"]["name"]) . " è stato correttamente inserito nel Database.";
    } else {

    echo "C'è stato un problema: " . mysql_error();
    // CHIUDIAMO LA CONNESSIONE A MYSQL
    @mysql_close();

    } else {

    echo "
    <html>... ecc...

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.