Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Errore in upload immagini

    Devo uploadare un'immagine dal computer al sito online, all'interno di una cartella chiamata "upload/immagini".
    Ho settato tutti i permessi a 777, quindi non è questo il problema. Metto qua sotto il codice semplificato che ho usato.

    Codice PHP:
    if(@is_uploaded_file($_FILES["img"]["tmp_name"])) {                    
      if( !@
    move_uploaded_file($_FILES["img"]["tmp_name"], "$upload_dir/$file_name") ){
        
    $errore="Impossibile spostare il file. Controllare l'esistenza o i permessi della directory dove fare l'upload.";
      }

    Mi dice che è impossibile spostare il file. Quindi il primo if lo trova corretto, mentre è il secondo a dargli problemi. Il percorso "$upload_dir/$file_name" è corretto, ho provato a stamparlo.

    A cosa è dovuto il problema?

  2. #2
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Esattamente, qual è il messaggio di errore? Inoltre, il codice del form? Per far ciò, togli le "@"...


  3. #3
    Perchè non rimuovi l'@ davanti a move_uploaded_file() e leggi il messaggio di errore che ti restituisce il PHP?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Ho provato a togliere i @, ma il php non mi restituisce nessun errore...
    Continua a dirmi "Impossibile spostare il file. Controllare l'esistenza o i permessi della directory dove fare l'upload.", che è la frase di errore che ho messo io nel caso non si potesse spostare il file.

    Questo qua sotto è la parte di form interessata (niente di complicato).

    Codice PHP:
    <div class="immagini_ins">
    <
    label for="img">Immagine*</label><sup>[1]</sup>

    <
    input type="file" name="img" />
    </
    div

  5. #5
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Hai messo multipart/data nel form?


  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654


    Codice PHP:
    echo "<form method=\"post\" action=\"".$http."admin/admin.php?sez=".link_formato($nome)."&id=$id\" enctype=\"multipart/form-data\">"
    Può essere dovuto al server? Anche se mi sembra strano che limitano l'upload...
    Ho piazzato il sito su altervista.org, se può servire (è temporaneo, quando il sito sarà funzionante lo trasporterò su un dominio a pagamento).

    Tra l'altro ho provato a buttare su anche un file molto più semplice di upload. Qui sotto il codice:

    Codice PHP:
    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/".$_FILES["upfile"]["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["upfile"]["name"]);

    }

    echo 
    "L'upload del file " $_FILES["upfile"]["name"] . " è avvenuto correttamente"

    Anche questo però mi dà l'errore "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload."
    C'è qualcosa che gli impedisce di spostarsi nella cartella, in pratica... è una cosa da panico!

  7. #7
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ma su altervista hai server win, giusto?


  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Visto che supporta il php, immagino che abbia server Linux

  9. #9
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Originariamente inviato da Horus-Ra
    Visto che supporta il php, immagino che abbia server Linux
    Anche server win supportano PHP

    Cosa c'è dentro la variabile $upload_dir? Come è organizzato il tuo filesystem sul server? Sicuro che punti alla stessa cartella? E poi togliendo le "@" E' impossibile che non ti dia alcun tipo di errore in più...E togli anche la funzione die() in entrambi i casi, così vediamo che ci dice PHP...


  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Scusa il ritardo, ma non ho potuto connettermi prima al pc...

    Allora, questo è il codice di prova (molto semplice) che ho messo in una cartella temporanea e che non mi funziona:

    Codice PHP:

    $upload_dir 
    "upload";

    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/".$_FILES["upfile"]["name"]);

    } else {


    }

    echo 
    "$upload_dir/".$_FILES["upfile"]["name"]; 
    Facendo l'ultimo echo, la cartella di destinazione mi risulta
    "/var/www/html/upload/Tutankhamon_-_maschera.jpg"
    Ho provato anche a mettere solo $upload_dir="upload" e $upload_dir="/upload", ma i risultati non cambiano: l'immagine non si carica.

    Ho tolto anche la @ prima di move_uploaded_file, ma non mi dà errori di sorta

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.