Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 31
  1. #21
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    64
    Citazione:
    Originariamente inviato da lotus82
    Stamattina mi dava errore #1064....

    Alla fine ho trovato che modificando questa riga così
    codice:

    if(move_uploaded_file('$tmpName', '$file')) {


    invece che lasciarla senza apici risolveva.

    Ora però mi continua a dire che "non � stato possibile salvare il file nella cartella specificata".


    Allora.
    Le virgolette si usano negli argomenti delle funzioni se, e solo se, passi una stringa come argomento: te passi una variabile, quindi è errato il modo in cui hai scritto te!
    Peraltro, l'errore 1064 è sicuramente del DB mysql (errore di sintassi) non certo per un errore nello script php!
    Eh, infatti mi sembrava strano che avessi sbagliato qualcosa nel codice, ma visto che mi dava quell'errore di sintatti e parlava di virgolette, sono andata per tentativi...

    Per quanto riguarda il codice ho copiato e incollato quello che mi hai consigliato tu....

    codice:
    <?php
    
    
    include("sql.php");
    connect_db("*****");
    
    if($_FILES[ 'userfile'][ 'error'] == 0) {
      // il file Ë stato caricato
      // procedo con lo script 
     
    $fileName = $_FILES['userfile']['name'];
    $tmpName  = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];
    
    $fileName = str_replace(" ", "_", $fileName);
    $fileName = str_replace("‡", "a", $fileName); 
    $file = "img/eventi/$fileName"; 
    
    if(move_uploaded_file($tmpName, $file)) {
    
    
    $sql = "
    INSERT INTO upload
    (data, file)
    VALUES
    (NOW(), '$fileName'
    ";
    	 
    mysql_query($sql) OR DIE("Mancato salvataggio nel DB. Errore Numero:".mysql_errno()." - Descrizione: ".mysql_error());
    
    
    echo "Tutto ok";
    
    } else {
     echo "non Ë stato possibile salvare il file nella cartella specificata.";
    }
    }
    else {
      echo "Errore numero: ".$_FILES['userfile']['error'];
      // in giro per il web puoi trovare i numeri  
      // corrispondenti al tipo di errore. 
    }
    
    unlink_db();
    ?>
    Ancora grazie.

  2. #22
    Da quello che posso capire da qui, potresti avere sbagliato il percorso fisico nel quale salvare il file!
    Prova a mandare in echo la stringa con il nome del file e vedere se corrisponde.
    Renditi conto che se la cartella di salvataggio delle foto è in una directory esterna a quella dove c'è lo script, allora forse devi usare una sintassi.
    Fammi capire come è la struttura del sito.
    Per intenderci: se il sito è strutturato come segue
    codice:
    root
     +-- cartella_immagini
     +-- cartella_script
    e lo script è in cartella_script, il percorso completo del file da inserire nella funzione MOVE_UPLOADED_FILE() deve essere scritto come segue:
    Codice PHP:
    $file "../cartella_immagini/eventi/$fileName"
    Spero di essermi spiegato.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #23
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    64
    Ciao, scusa il ritardo della risposta, ma ho visto solo ora la mail del sito nella posta..

    Avevo intuito che il problema fosse il percorso, avevo anche fatto diverse prove, senza successo.
    Comunque, il sito è strutturato così:

    Root -- img -- eventi

    Lo script è in "Root" (come tutti i file che compongono il sito, mentre le immagini dovrebbero andare, come avrai capito, in "eventi".
    Ho provato ad aggiungere i due puntini, come mi hai consigliato, ma il messaggio rimane uguale (io avevo anche provato con un punto solo, ma niente...).
    Ho provato adesso anche a creare una cartella "eventi" direttamente in Root e provare così, con e senza puntini, ma nulla...

  4. #24
    la cartella EVENTI è nella root?

    Se si non hai bisogno di altro: scrivi semplicemente
    Codice PHP:
    $file "eventi/$fileName"
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #25
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    64
    Anche così il messaggio è sempre lo stesso e non mette niente nella cartella e non c'è il minimo segno di un record nella tabella del db...sembra un incubo...

  6. #26
    Originariamente inviato da lotus82
    Anche così il messaggio è sempre lo stesso e non mette niente nella cartella e non c'è il minimo segno di un record nella tabella del db...sembra un incubo...
    Senti per qualche motivo che da qui non posso sapere, la funzione MOVE_UPLOADED_FILE() restituisce FALSE!
    Il problema può essere dato da:
    [list=1][*]$tmpName non contiene un nome di file valido.[*]$file ha un percorso errato o la cartella di destinazione non ha i permessi di lettura/scrittura da script[*]il file ha dimensioni eccessive (50/100 MB)[/list=1]
    Non ci sono scappatoie.
    Se il problema fosse nel caricamento, otterresti la dicitura Errore numero X.

    Io da qui non so come altro aiutarti.
    Manda in echo le variabili e posta qui il risultato.
    Modifica così lo script:
    Codice PHP:
    // qui c'è tutta la parte precedente dello script
    $fileName str_replace(" ""_"$fileName);
    $fileName str_replace("‡""a"$fileName); 
    $file "eventi/$fileName"

    // aggiungi queste righe
    echo "$fileName 

    $file 

    $tmpName

    $fileSize
    "
    ;
    // fine righe da aggiungere

    if(move_uploaded_file($tmpName$file)) {
    // qui c'è tutta la parte successiva dello script 
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #27
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    64
    Ancora grazie alcio della tua pazienza.

    Ti posto sia il codice del form che quello che viene fuori con il file upload aggiornato con il codice che mi hai dato.

    FORM

    codice:
    <form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="5000000">
    <input name="userfile" type="file" id="userfile">
    <input name="upload" type="submit" class="box" id="upload" value=" Upload ">
    </form>

    RISULTATO
    how_to_engage_fb_fans_with_images-1.pdf
    eventi/how_to_engage_fb_fans_with_images-1.pdf
    /Applications/MAMP/tmp/php/phpmzB38M
    374542 non � stato possibile salvare il file nella cartella specificata.

    La dimensione non credo sia un problema, avevo anche aumentato la cifra del MX_FILE_SIZE...
    Ho controllato, il percorso /Applications/MAMP/tmp/php/ esiste, quello che non c'è la cartella phpmzB38M che però credo sia giusto che non esista, perché è temporanea...in compenso nella cartella php c'è diversi file sess_ con dei numeri....

  8. #28
    Originariamente inviato da lotus82
    /Applications/MAMP/tmp/php/phpmzB38M
    Credo che il problema sia qui: il file temporaneo dovrebbe avere una estensione, e questo non ce l'ha.
    Se non mi ricordo male dovrebbe essere qualcosa tipo phpmzB38M.tmp.

    Ora non ho modo di controllare, però.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #29
    Originariamente inviato da lotus82
    Ho controllato, il percorso /Applications/MAMP/tmp/php/ esiste, quello che non c'è la cartella phpmzB38M che però credo sia giusto che non esista, perché è temporanea...in compenso nella cartella php c'è diversi file sess_ con dei numeri....
    Quello non è il percorso che devi controllare.
    Quello è il percorso per raggiungere la cartella temporanea di Apache nella tua configurazione.
    I file che dici te (sess_numeri senza estensione), sono i file di sessione dentro cui vengono salvati i dati passati con l'array $_SESSION.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #30
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Aggiungi un controllo sulla cartella di destinazione:
    codice:
    $destinazione = 'img/eventi';
    echo (is_dir($destinazione)) ? 'esiste' : 'non esiste';
    echo'
    ';
    echo (is_writable($destinazione)) ? 'scrivibile' : 'non scrivibile';

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.