Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    111

    Upload e localhost (??)

    Salve a tutti, vorrei chiedere se l'upload di file funziona su localhost (IIS). Sto facendo delle prove ma non ci riesco. Ho tre programmi:

    index.php

    <?
    // form html per upload dei file
    echo "
    Selezione il file da caricare.
    <form method=post action=upper.php enctype=multipart/form-data>
    <input type=file name=upfile>
    <input type=submit>
    </form>
    ";
    ?>

    upper.php

    include ("function_upload.php");

    $img_up_name = "upfile";
    $img_max_size = "2000000";
    $img_name_dir = "http://localhost/prove5";


    funz_uploader($img_up_name, $img_max_size, $img_name_dir);

    ?>

    e funz_uploader

    function funz_uploader($img_up_name, $img_max_size, $img_name_dir) {
    $img_size = $_FILES[$img_up_name] ['size']; // controlla la dimensione dell'immagine
    $nome_img = $_FILES[$img_up_name] ['name']; // controlla il nome dell'immagine
    $img_split = explode(".",$nome_img); // verifica il tipo di estensione del file, controllando
    $estensione = array_pop($img_split); // le ultime letere dopo l'ultimo punto
    if (is_uploaded_file($_FILES[$img_up_name] ['tmp_name'])) { // controlla se il file è stato caricato dal form
    if ($img_size <= $img_max_size) {
    // verifica se i file da caricare sono immagini
    if ($estensione == "jpg" OR $estensione == "gif" OR $estensione == "jpeg") {
    // sposta il file caricato
    print "
    ";
    print "VALORE=";
    print $_FILES[$img_up_name] ['tmp_name'];
    print "
    ";
    print $img_name_dir."/".$nome_img;
    print"
    ";
    @move_uploaded_file($_FILES[$img_up_name] ['tmp_name'], "$img_name_dir/$nome_img")
    or die ("Impossibile spostare il file.
    <A href=\"javascript:history.back()\">Torna indietro.</A>");
    echo "File caricato con successo.

    <A href=\"javascript:history.back()\">Torna indietro.</A>
    "; // se il file è stao caricato
    } else {
    echo "Questo file non puo' essere caricato sul server.

    <A href=\"javascript:history.back()\">Torna indietro.</A>
    "; // se il file non è stato caricato
    }
    } else {
    echo "Questo file è troppo grande per essere caricato.

    <A href=\"javascript:history.back()\">Torna indietro.</A>
    "; // se il file è troppo grande
    }
    } else {

    echo "Non riesco a caricare questo file sul server.

    <A href=\"javascript:history.back()\">Torna indietro.</A>
    "; // se non riesce a caricare il file
    }
    }
    ?>

    L'ho scaricato dai vari script per i download e sto cercando di farlo funzionare in locale prima di scaricarlo sul server di hosting.

    Questo è il risultato:

    VALORE=C:\PHP\uploadtemp\php5A.tmp
    http://localhost/prove5//pippo.jpg
    Impossibile spostare il file.

    Qualcuno ESPERTO (non ci capisco molto di php!! mi sa dire come mai non funziona?

    GRAZIE MILLE A TUTTI!!!

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    - togli la @ da move_uploaded_file per visualizzare gli errori che la funzione segnala;
    - inserisci error_reporting(E_ALL); ad inizio pagina;
    - togli da $img_name_dir il riferimento a http://localhost.



    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    111

    Grazie...ma...

    Grazie mille, ma ancora non funziona

    Questo è l'errore:

    Warning: move_uploaded_file(/prove5/prova2.jpg) [function.move-uploaded-file]: failed to create stream: No such file or directory in c:\inetpub\wwwroot\prove5\function_upload.php on line 30

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\uploadtemp\php8D.tmp' to /prove5/prova2.jpg' in c:\inetpub\wwwroot\prove5\function_upload.php on line 30

    quetsa è la linea 30:

    Codice PHP:
    move_uploaded_file($_FILES[$img_up_name] ['tmp_name'], "$img_name_dir/$nome_img"
    Questa è $img_name_dir
    Codice PHP:
    $img_name_dir "/prove5"
    Non so più che pesci prendere!!! Sembrava così semplice...

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    controlla che la cartella esista, poi usa
    codice:
    $img_name_dir = "prove5";


    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    111
    Grazie Marketto, ma mi da lo stesso identico errore....

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    111
    Scusa l'ignoranza in materia, ma questa funzione fa l'upload su una directory temporanea e poi prova a fare la move del file?
    Grazie.

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    per ogni riferimento all'uso delle funzioni ti consiglio di guardare sempre il manuale online, ovvero: www.php.net/move_uploaded_file


    x il tuo caso specifico devi controllare che esista la cartella, ovvero:
    il file function_upload.php è contenuto in c:\inetpub\wwwroot\prove5;
    se l'upload lo vuoi effettuare nella stessa cartella allora nn devi specificare niente su $img_name_dir.


    think simple think ringo

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    111
    Grazie!!!! FUNZIONA!!!!!!!!!!!!!!!!!!!
    Grande!!!!

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.