Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problemi con l'upload

  1. #1

    problemi con l'upload

    Salve ragazzi devo realizzare un form x l'upload di un file, per ora ho scritto questa funzione:

    $path = "AreaTecnica/upload";
    if( $allegato != null ) {
    $disegno = "Foto_".$allegato;
    if (file_exists("$path/$disegno")) { unlink("$path/$disegno"); }
    copy($disegno , "$path/$disegno");
    unlink($allegato);
    }



    /*creazione query di inserimento valori nel DB*/
    $query2 = "INSERT INTO schemi VALUES ('id_schema','$data','$titolo','$testo','$disegno' ,'$file')";
    $ins2 = mysql_query($query2, $CON) or die (" Errore nella query2: " . mysql_error());

    tutto cio mi da 2 problemi:
    1) non viene fatto l'upload del file sul server, la copia non viene effettuata
    2) nel database alla voce allegato mi inserisce l'intero path (es. C:\document&setting\...)
    e di coseguenza quando vado a richiamare il file per un eventuale download fa la ricerca sull'intero percorso

    Xke questi problemi?
    Come posso ritoccare le mie funzioni in modo da avere l'upload del file sul server

    GRAZIE PER OGNI INTERVENTO

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    prova con questo
    questo ti fa lupload multiplo
    Codice PHP:
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    //Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)


    //$upload_dir =$_SERVER["DOCUMENT_ROOT"] . "/upload";
    foreach ($_FILES["pictures"]["error"] as $key => $error) {
        if (
    $error == UPLOAD_ERR_OK) {
            
    $tmp_name $_FILES["pictures"]["tmp_name"][$key];
            
    $name $_FILES["pictures"]["name"][$key];

        }



    $upload_dir=stripslashes($_POST['dir']);

    // Eventuale nuovo nome da dare al file uploadato


    $new_name "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name $_FILES["pictures"]["name"][$key];

    if(
    trim($_FILES["pictures"]["name"][$key]) == "") {

    die(
    "Non hai indicato il file da uploadare!");

    }
    /*
    //si controlla il tipo
    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {

    die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");

    }
    */

    if(is_uploaded_file($_FILES["pictures"]["tmp_name"][$key])) {

     
    move_uploaded_file($tmp_name"$upload_dir/$name")
    or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " $_FILES["pictures"]["name"][$key]);

    }
                                    
                                    echo 
    "L'upload del file " $_FILES["pictures"]["name"][$key] . " è avvenuto correttamente";
    //query per dove uploadare i file


    per quanto riguarda il tuo punto n° 2, per salvRE IL PATH DEL FILE SALVA IL PERCORSO RELATIVO E NON ASSOLUTO

  3. #3
    come sarebbe "salva il path relativo e non assoluto"? come si fa?

  4. #4
    ciao, senti ho riscritto la funzione csi:

    $path = "AreaTecnica/upload";
    chmod("$path", 775);
    if( $allegato != null ) {
    $tmp_name = $_FILES['allegato']['tmp_name'];
    $disegno = $_FILES['allegato']['name'];
    move_uploaded_file($tmp_name, $path."/".$disegno) or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
    }

    ma mi da errore in quanto non mi funziona porprio la funzione "move_uploaded_file" xke?
    da che può dipendere?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.