Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema Upload immagini su Aruba WINDOWS

    Salve a tutti, premetto subito che la stranezza di questo problema mi ha portato a pensare che l'errore non sia nello script che ho fatto, ma di configurazione del Server(forse).
    Dico questo perchè lo stesso script è stato duplicato per diverse categorie del sito cambiando il percorso di upload dei file....il risultato è che su alcune categorie tutto funziona senza nessun problema, mentre su altre,lo script da conferma di immagine caricata, ma "fisicamente" non succede nulla,l'immagine non viene uploadata sul server.
    Non so dove sbattere la testa perchè non ho nessun errore da cui partire e sono peraltro sicuro che lo script funzioni!Prego qualcuno per un illuminazione......
    Sono anche sicuro del fatto che non sia un problema di permessi dato che lecartelle stanno tutte dentro la cartella predefinita public/

    ecco la parte di codice interessata:

    <?

    include("config.php");


    $action= $_REQUEST["act"];
    $id = $_REQUEST["id"];

    if ($_REQUEST["act"] == "delete"){

    $delete = mysql_query("DELETE FROM $table WHERE id = $id ") or die(mysql_error());

    print "<div align=center><font color=#FFFFFF>Il prodotto è stato eliminato!</font>
    <a href=form_ins.php>Aggiorna la pagina</a></div>";

    // @header("Location:form_ins.php");
    }


    ?>

    <?

    if(isset($_POST["invia"])){


    include("config.php");


    $codice=$_POST["codice"];
    $descrizione = $_POST["descrizione"];
    $immaginetemp = $HTTP_POST_FILES['img']['tmp_name'];
    $name_img1 = $HTTP_POST_FILES['img']['name'];

    //Prendo dalla stringa le lettere necessarie a stabilire il formato per il controllo del file e per la ridenominazione dello stesso
    $extension = substr($name_img1, -4, 4);
    if ($extension != ".jpg")
    $messaggio1 = "<div align='center'>E' possibile caricare immagini solo in formato jpg!</div>";

    //setto il percorso per l'upload dei file
    $directory = $_SERVER["DOCUMENT_ROOT"]."/public/arredo/classico/image/";
    $rinomina = $codice.$extension;
    $img1 = $directory.$rinomina;
    if (file_exists($img1))
    {
    $cancella = unlink($img1);

    }
    if (is_uploaded_file($immaginetemp))
    {
    move_uploaded_file($immaginetemp, ($img1));
    $messaggio1 = "<div align='center'>Nuovo prodotto aggiunto!
    <a href=form_ins.php>Aggiorna la pagina</a></div>";

    mysql_query("INSERT INTO $table (codice,descrizione) VALUES ('$codice','$descrizione')") or die (mysql_error());


    }



    if ($HTTP_POST_FILES['img']['size'] > $_POST["MAX_FILE_SIZE"])
    $messaggio1 = "
    L'immagine 1 è troppo pesante!";
    ?>

  2. #2

  3. #3
    scusa mandi in upload le immagini in public e le lascieresti li?
    da vecchietto avrei usato fputs e subito dopo avrei spostato i file con ftp_put in directory con permessi standard.
    move_uploaded_file va solo dalla versione 4.0.3, non vorrei che il nostro server non ci restituisca il previsto errore in caso di sbagli
    edit....ho appena visto il phpinfo, come non detto sotto
    /*
    fai una cosa che aspetto piazza un controllo a move* tipo

    move_uploaded_file($immaginetemp, ($img1))
    or die("stica1");

    ----------
    */
    poi ti dico, non è che e troppo ramificata la dir?...in directory pubbliche ci sta che evitano la scrittura pubblica dopo un certo numero di ramificazioni.

    io comunque userei una directory temporanea per l'upload primario con un nome temporaneodataora e poi subito dopo lo spostamento col nome reale nella dir definitiva con user loggato ftp e i metodi relativi a ftp_put:
    ftp_connect etc già sai, no?
    è molto meglio anche per quello che riguarda la sicurezza futura dei poveri file pubblicamente pubblicati

    edit
    ps
    dove funziona la ramificazione è minore?

  4. #4
    non ti scordare di farmi sapere, prima che faccia alba, meglio tra 30 min max

    la domanda è questa, scusa se insisto, dove funge la ramificazione è tipo:
    /public/
    /public/dir1
    /public/dir1/dir/2

    e poi invece quando scendi in:
    /public/dir1/dir2/dir3 e oltre
    salta la scrittura?

  5. #5
    Scusa se rispondo solo ora ....la ramificazione è uguale per tutte le categorie.

    es: per la categoria cucine/classico avrò public/cucine/classico/image

    per la categoria arredo classico avrò public/arredo/classico/image

    le categorie quindi presentano tutte la stessa ramificazione.

    Io non sto riscrivendo tutto da zero perchè per quello che mi hanno dato per questo lavoro avrei dovuto togliere le mani da un bel paio di giorni, ma comunque è una cosa strana......ora provo a sostituire omve_uploaded_file.....ma credo poco ad una risoluzizone del problema.

  6. #6
    non lo so....stampa i percorsi/nomi e vedi se c'è qualche anomalia in quelle categoria

    e poi
    $rinomina = $codice.$extension;
    $img1 = $directory.$rinomina;

    prova a sostituire:

    $rinomina = "$codice$extension";
    $img1 = "$directory$rinomina";

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.