Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502

    metodo POST in timeout?

    Ciao ragazzi,
    Ho creato un form in PHP per salvare un album musicale e altri dati nel db (il cd musicale si salva in una cartella, memorizzo solo il percorso, come al solito).

    Se testo lo script con la foto al posto dello zip CD funziona, se carico file da 7MB (come il CD zippato), i dati che invio vengono persi. Sia il "file" che tutti i dati $_POST.

    Dite che è il tempo? Ci mette circa 10 minuti a caricare, ma dovrebbe comunque tenere tutto, invece non va.

    Lascio il codice PHP.

    $up1 = $al1['name'];
    $up2 = $al2['name'];

    $i = 0;

    if ($autore_news == "Album") {
    while (file_exists("../gallery/".$up1)) {
    $up1 = $i."_".$al1['name'];
    $i++;
    }

    $i = 0;

    while (file_exists("../gallery/".$up2)) {
    $up2 = $i."_".$al2['name'];
    $i++;
    }

    if (copy($al1['tmp_name'], "../gallery/".$up1) && copy($al2['tmp_name'], "../gallery/".$up2)) {
    $query = "INSERT INTO musica (titolo_musica, testo_musica, type_musica, img_copertina_musica, src_download_musica, data_musica) VALUES ('$title_news', '$contenuto_news', '$autore_news', '$up1', '$up2', NOW())";

    if (mysql_query($query)) {
    echo "Musica inserita con successo! <a href=\"mousica.php?act=view\">Torna indietro!</a>";
    echo "<br />".$title_news.$contenuto_news.$autore_news.$up1.$ up2;
    } else {
    echo "Errore: non siamo riusciti ad inserire la tua musica! Riprova tornando indietro con il browser<br /><br /><strong>Errore:</strong> ".mysql_error();
    }
    } else {
    echo "Errore! Non siamo riusciti a caricare l'allegato file/immagine.";
    }
    } else {
    $query = "INSERT INTO musica (titolo_musica, testo_musica, type_musica, img_copertina_musica, src_download_musica, data_musica) VALUES ('$title_news', '$contenuto_news', '$autore_news', 'null.jpg', '$up2', NOW())";

    if (mysql_query($query)) {
    echo "Musica inserita con successo! <a href=\"mousica.php?act=view\">Torna indietro!</a>";
    } else {
    echo "Errore: non siamo riusciti ad inserire la tua musica! Riprova tornando indietro con il browser<br /><br /><strong>Errore:</strong> ".mysql_error();
    }
    }

    }

    PS: non uso il tag [PHP] perché immetendoci il codice lo dà disordinato.
    Codice PHP:
    $up1 $al1['name'];        $up2 $al2['name'];                $i 0;                if ($autore_news == "Album") {            while (file_exists("../gallery/".$up1)) {                $up1 $i."_".$al1['name'];                 $i++;            }                        $i 0;                            while (file_exists("../gallery/".$up2)) {            $up2 $i."_".$al2['name'];                 $i++;            }                        if (copy($al1['tmp_name'], "../gallery/".$up1) && copy($al2['tmp_name'], "../gallery/".$up2)) {                $query "INSERT INTO musica (titolo_musica, testo_musica, type_musica, img_copertina_musica, src_download_musica, data_musica) VALUES ('$title_news', '$contenuto_news', '$autore_news', '$up1', '$up2', NOW())";                                if (mysql_query($query)) {                    echo "Musica inserita con successo! <a href=\"mousica.php?act=view\">Torna indietro!</a>";                    echo "<br />".$title_news.$contenuto_news.$autore_news.$up1.$up2;                } else {                    echo "Errore: non siamo riusciti ad inserire la tua musica! Riprova tornando indietro con il browser<br /><br /><strong>Errore:</strong> ".mysql_error();                }            } else {                echo "Errore! Non siamo riusciti a caricare l'allegato file/immagine.";            }        } else {            $query "INSERT INTO musica (titolo_musica, testo_musica, type_musica, img_copertina_musica, src_download_musica, data_musica) VALUES ('$title_news', '$contenuto_news', '$autore_news', 'null.jpg', '$up2', NOW())";                            if (mysql_query($query)) {                echo "Musica inserita con successo! <a href=\"mousica.php?act=view\">Torna indietro!</a>";            } else {                echo "Errore: non siamo riusciti ad inserire la tua musica! Riprova tornando indietro con il browser<br /><br /><strong>Errore:</strong> ".mysql_error();            }        }            } 
    Ultima modifica di Vash SD; 25-09-2014 a 13:15 Motivo: Codice disordinato.
    Personal Home Page

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il codice è incomprensibile (per avere codice leggibile ad ogni fine riga va dato un invio) ma comunque 10 minuti mi sembrano molti verifica quant'è timeout del provider
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Quote Originariamente inviata da Vash SD Visualizza il messaggio
    ...
    PS: non uso il tag [PHP] perché immetendoci il codice lo dà disordinato....
    Lo da disordinato perché usi la codifica Windows o Mac sull'editor che usi per scrivere il codice e il carattere di ritorno a capo non è quindi \n, ma \r\n o \n\r, che un server Unix non riconosce.
    Impostalo per usare la codifica Unix o Linux, tanto tutti i server girano su tali sistemi operativi.

  4. #4
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Sarà fatto, ma secondo voi, dopo 10 minuti che carica ed arriva al 100%, possibile che si scordi i contenuti degli input e non carichi nemmeno il file per cui ho aspettato tutto questo tempo?
    Personal Home Page

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Se il server dichiara che lo script è andato in timeout butta via tutto, non si ricorda le cose fino ad un certo punto.
    Per garantire coerenza, o si riceve tutto, o non si riceve niente.

  6. #6
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Innanzitutto, grazie Alhazed. Penso il codice, dato che funziona, non serve neanche ripostarlo.
    Ti chiedo, come faccio a sapere se il server ha dichiarato timeout? Posso abilitare qualche cosa? (Ho un dominio su aruba).
    Credo che sia proprio come dici tu; infatti, coerentemente, non salva il file né crea il record.

    Inoltre, hai qualche altro consiglio da darmi per caricare un album? (circa 10 MB max)
    Personal Home Page

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Basta che metti un file con dentro il solo comando

    echo phpinfo();

    lì troverai i dati
    max_execution_time
    max_file_uploads
    post_max_size
    upload_max_filesize

    Per modificarli puoi provare con ini_set(), ma non è detto che funzioni, dipende dalle impostazioni del server.

  8. #8
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Perdonami, cosa intendi con un file con dentro il solo comando?
    Purtroppo devo fare per forza un form dove uplodare, se no avrei caricato via FTP e avrei messo solo l'indirizzo locale nel server del file.

    EDIT: ah, scusa, tu intendi il phpinfo(), pensavo fosse un consiglio
    Ultima modifica di Vash SD; 28-09-2014 a 21:21
    Personal Home Page

  9. #9
    Credo di aver capito che ti vada in timeout, usa la funzione set_time_limit per aumentare il limite massimo di max_execution_time per la pagina corrente senza modificare il php.ini

  10. #10
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Sì, ma comunque ci mette davvero tanto. Proponete alternative a come caricare il file tramite il sito?
    Personal Home Page

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