Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    php 5.4 Non riesco a far andare o non capisco come funziona la session.upload_progress

    Allora, come da titolo, sono due giorni che ci combatto.
    Ho una instllazione pulita di wamp con php 5.4.3
    Se guardo nel php.ini di questa installazione, non vedo le varie variabili che servono per attivare (credo) questa funzionalità. Se ce le metto a mano, non funziona na mazza.

    ho seguito questo codice di esempio http://erlycoder.com/57/php-5-4-upda...l-query-result

    ma nada di nada.
    Cosa siavolo bisogna fare?

  2. #2
    Qualcuno ha qualche ideuzza, anche piccola, su come fare? Ci sono incompatibilità manifeste con wamp server per questa benedetta nuova funzione?

  3. #3
    cosa non ti funziona? cosa hai fatto? cosa vuoi fare?
    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    cosa non ti funziona? cosa hai fatto? cosa vuoi fare?
    Effettivamente non ho spiegato chiaramente il problema.
    Allora, a partire dalla versione 5.4 di php , è possibile avere nel $_SESSION la possibilità di "monitorare" lo stato di un file in Upload. A me tornerebbe particolarmente utile, come a tutti quelli che programmano con php, tenere traccia dello stato di caricamento di un file su un server, per esempio un'immagine che permetto di caricare a un utente. Questo era già possibile farlo con altri mezzi, ma a me attira particolarmente questo. Appena ho letto di questa possibilità, ho pensato: bene! mi basterà fare un normale form per upload di file, come vedo in tanti tutorial a giro per la rete, quindi fare con jquery una richiesta ajax temporizzata, interrogare la $_SESSION ( e cioè $_SESSION['upload_progress_etc...]) e il gioco è fatto.

    Il gioco non è fatto.

    Vi spiego allora i passi che ho fatto.

    Cancellato il mio sistema di sviluppo wamp precedente /http://www.wampserver.com) , con montato php 5.3 e ho scaricato e installato WAMPSERVER (64 BITS & PHP 5.4) 2.4
    Apache : 2.4.4 MySQL : 5.6.12 PHP : 5.4.12 PHPMyAdmin : 4.0.4 SqlBuddy : 1.3.3 XDebug : 2.2.3

    Quindi tutto speranzoso ho provato a costruire la mia versione della cosa. Quando ho scoperto che non funzionava, ho detto: sei un coglionazzo, vediamo il codice di chi lo ha fatto, copiamolo, vediamo se funziona.
    Non ha funzionato. In fine sono incappato nel tutorial che citavo prima, dove un tizio enunciava il fatto che pur dando questa possibilità, il php 5.4 non la inseriva "di default" e quindi bisognava cambiare i parametri di configurazione nel php.ini. Io li ho cambiati( dando anche un' occhiata a php. net) sia nel php.ini della cartella php5.4 dentro il mio wamp, sia dentro il php.ini dentro il bin dell'apache del mio wamp.

    ho messo esattamente questo
    ;inizio session


    ; Enable upload progress tracking in $_SESSION
    ; Default Value: On
    ; Development Value: On
    ; Production Value: On
    ; http://php.net/session.upload-progress.enabled
    session.upload_progress.enabled = On


    ; Cleanup the progress information as soon as all POST data has been read
    ; (i.e. upload completed).
    ; Default Value: On
    ; Development Value: On
    ; Production Value: On
    ; http://php.net/session.upload-progress.cleanup
    ;session.upload_progress.cleanup = On


    ; A prefix used for the upload progress key in $_SESSION
    ; Default Value: "upload_progress_"
    ; Development Value: "upload_progress_"
    ; Production Value: "upload_progress_"
    ; http://php.net/session.upload-progress.prefix
    session.upload_progress.prefix = "upload_progress_"


    ; The index name (concatenated with the prefix) in $_SESSION
    ; containing the upload progress information
    ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
    ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
    ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
    ; http://php.net/session.upload-progress.name
    session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"


    ; How frequently the upload progress should be updated.
    ; Given either in percentages (per-file), or in bytes
    ; Default Value: "1%"
    ; Development Value: "1%"
    ; Production Value: "1%"
    ; http://php.net/session.upload-progress.freq
    session.upload_progress.freq = "1%"


    ; The minimum delay between updates, in seconds
    ; Default Value: 1
    ; Development Value: 1
    ; Production Value: 1
    ; http://php.net/session.upload-progress.min-freq
    session.upload_progress.min_freq = "1"
    ;fine sessio

    Quindo ho provato a vedere se tutto andava bene, etc, ma ancora non ne vengo a capo.
    Dove sbaglio ? Cosa non ho provato, a parte installarmi apache, php e mysql senza wamp, cosetta faticosa, che all'inizio facevo ma che ora mi tornerebbe difficilotta? ( oltre a l fatto che wamp è comodo)

  5. #5
    mi sembrava di aver risposto ma non c'è piu la risposta..

    vabbè, hai provato solo offline o anche online?
    Questa volta, più che un voto.. è favoreggiamento.

  6. #6
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    mi sembrava di aver risposto ma non c'è piu la risposta..

    vabbè, hai provato solo offline o anche online?
    per ora ho provato offline, caricando file da 10 mb e anche mettendo la variabile che dice di rimettere a 0 il valore dell'upload una volta fatto a false a 0 ( non ricordo ora qual'è il settaggio) Ho provato poi online su tophost, anche li nada, ma effettivamente per ora on line sono un po' in difficoltà. In effetti, magari su un server serio, magari settato con php 5.4, tutti sti problemi spariscono, e vedo direttamente li. Solo che volevo capire bene la dinamica su locale, prima di passare a "produzione"

  7. #7
    prova postare un po' di codice, no?
    Questa volta, più che un voto.. è favoreggiamento.

  8. #8
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    prova postare un po' di codice, no?
    Di tanti esempi, ne ho riadattato uno.

    index.html

    <p id="progress-txt"></p>
    <form action="upload.php" method="POST" enctype="multipart/form-data" id="upload">
    <input type="hidde" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />


    <div class="clearfix">
    <label for="file1">File 1</label>
    <div class="input">
    <input type="file" name="file1" id="file1" />
    </div>
    </div>
    <div class="clearfix">
    <label for="file2">File 1</label>
    <div class="input">
    <input type="file" name="file2" id="file2" />
    </div>
    </div>
    <div class="actions">
    <input type="submit" class="btn primary" value="Upload"/>
    </div>
    </form>

    <script>

    //Holds the id from set interval
    var interval_id = 0;

    $(document).ready(function(){
    alert('o vai!');
    //jquery form options
    var options = {
    success: stopProgress, //Once the upload completes stop polling the server
    error: stopProgress
    };


    //Add the submit handler to the form
    $('#upload').submit(function(e){
    alert('cliccato!');
    //check there is at least one file
    if($('#file1').val() == '' && $('#file2').val() == '')
    {
    e.preventDefault();
    return;
    }

    //Poll the server for progress
    interval_id = setInterval(function() {

    $.ajax({
    type: "POST",
    url: 'progress.php',
    async:false,
    dataType: 'html',
    error: function (jqXHR,xhr, ajaxOptions, thrownError)
    {
    alert('errore');

    },
    success: function(response)
    {
    // alert('response='+response);
    $('#progress-txt').html(response);


    }

    })

    }, 200);

    $('#upload').ajaxSubmit();

    e.preventDefault();
    });
    });


    function stopProgress()
    {
    clearInterval(interval_id);
    }
    </script>



    upload.php

    <?php
    session_start();
    var_dump($_SESSION);
    var_dump($_FILES);
    ?>


    progress.php
    <?php
    session_start();
    echo print_r($_SESSION);
    ?>


    nel print_r(S_SESSION) non restituisce niente, da un array vuoto

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    ma se fai un phpinfo() li vedi quei valori che hai impostato in php.ini?

  10. #10
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    ma se fai un phpinfo() li vedi quei valori che hai impostato in php.ini?

    Ok, grazie per la domanda, ci ho dato un'occhiata ora, e ti riporto la parte riguardante le session

    session

    Session Support enabled
    Registered save handlers files user
    Registered serializer handlers php php_binary wddx

    Directive Local Value Master Value
    session.auto_start Off Off
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_httponly Off Off
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 1000 1000
    session.gc_maxlifetime 1440 1440
    session.gc_probability 1 1
    session.hash_bits_per_character 5 5
    session.hash_function 0 0
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path c:/wamp/tmp c:/wamp/tmp
    session.serialize_handler php php
    session.upload_progress.cleanup On On
    session.upload_progress.enabled On On
    session.upload_progress.freq 1% 1%
    session.upload_progress.min_freq 1 1
    session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
    session.upload_progress.prefix upload_progress_ upload_progress_
    session.use_cookies On On
    session.use_only_cookies On On
    session.use_trans_sid 0 0

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.