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

    upload di file asincrono..

    E' possibile mostrare dei messaggi con il php mentre si sta uploadando il file dal pc dell'utente?

  2. #2
    Certo che puoi: il problema è che non esiste un vero e proprio modo per fare un upload in ajax di file.

    Cercando in rete trovi comunque soluzioni di upload Ajax-like che simulano un upload asincrono (tramite iframe) come questa: http://www.sastgroup.com/tutorials/u...con-php-e-ajax

    Qui poi, aggiungendo codice javascript nella funzione che lancia l'upload puoi far comparire nel main frame (_top) qualunque funzione javascript che genera effetti tipo preload bar etc..

    Se sei più chiaro nella spiegazione posso buttarti giù qualche riga di codice.
    .. tutti siamo utili, ma nessuno è indispensabile ..

  3. #3
    si in javascript immaginavo ma..

    io volevo farlo in php

  4. #4
    Perdonami, ma php è un linguaggio serverside... come fai a fargli fare qualcosa sul browser del client??

    puoi lanciare una funzione javascript che tramite richiesta ajax compie una chiamata ad uno script php...

    non so se mi spiego... disse la vela!

    Sii più preciso e proviamo a risolvere l'arcano!

    Saluti!!
    .. tutti siamo utili, ma nessuno è indispensabile ..

  5. #5
    Originariamente inviato da andreaaaahhhh
    Perdonami, ma php è un linguaggio serverside... come fai a fargli fare qualcosa sul browser del client??

    puoi lanciare una funzione javascript che tramite richiesta ajax compie una chiamata ad uno script php...

    non so se mi spiego... disse la vela!

    Sii più preciso e proviamo a risolvere l'arcano!

    Saluti!!
    bene: guarda quest'esempio di codice per "scaricare" un file da internet

    codice:
    	$handle = fopen($_POST['url'], "rb");
    	$contents = '';
    	while (!feof($handle))  {
    	  $contents .=fread($handle, 8192);
    	  echo '. ';
    	}
    	fclose($handle);
    scarica $_POST['url'] e ogni 8192 byte scrive un puntino.. ( oppure potrebbee fare qualsiasi altra operazione.. )

    volevo fare la stessa cosa con i file in upload dal proprio pc

  6. #6
    Bene, ma quello che hai fatto è un falso "scrivere" un puntino mentre scarica: infatti l'echo non è in perfetto realtime ma se il file è effettivamente molto lungo.. allora funziona abbastanza bene come soluzione (se l'echo è dentro a un tag tipo table o div.. l'echo lo vedi solo quando li ha stampati tutti i puntini)

    Per l'upload però non funziona così: infatti mentre il down di un file è una lettura dal server, l'upload è un operazione completamente diversa che opera con principi differenti.

    Infatti il file viene passato, dal dom del browser, sotto forma di "testo" (non è proprio così ma rende perfettamente l'idea) come se fosse un campo textarea alla pagina che poi deve processarlo. Questo significa che prima lo devi passare tutto al browser e poi tutto alla pagina che lo processa.

    Partiamo da un campo testo: qualora tu volessi, potresti passare un campo textarea in ajax a pacchetti di 1024 byte (ad esempio) ad una pagina php che lo processa e lo riaggrega in attesa di un comando di "stop".

    Questo però con una textarea: il difficile e far trasformare un riferimento file in un file di testo tramite browser (perchè non deve cambiare pagina e deve farlo in locale)....

    La vedo dura..

    Però ti ho dato forse qualche spunto di riflessione sulla reale fattibilità..

    Dimmi te se hai in mente già qualcosa: comunque credo che sia improbabile farlo con javascript e ajax.. solo con php è IMPOSSIBILE

    A meno che il tuo computer da cui fai upload, ed il file da uploadare, non siano accessibili tramite url (ip fisso + webserver locale): al che cambia tutto perchè devi solo lanciare la funzionalità di prima con il tuo indirizzo.. e questo è fattibile. Ma non per un applicazione distribuita.

    Saluti a presto,

    Andrea
    .. tutti siamo utili, ma nessuno è indispensabile ..

  7. #7
    non ci spero tanto che si possa fare in php..
    ma pensandoci un pò quando il browser invia i dati al server trattandosi di un form con enctype multipart/form-data comunque ci deve essere qualcosa "di la" sul server che riceve i dati che il browser sta inviando, quel qualcosa se potesse essere una funzione del php di quella pagina staremmo apposto..

    comunque parlando di ajax l'ho visto fare moltre altre volte quindi non è improbabile: esempio http://files-upload.com


  8. #8
    trovata la soluzione. Mentre i file vengono uplodati vengono passati nella cartella tmp del php.

    Basta controllare la dimensione di quel file per sapere il progresso

  9. #9


    ho provato IE e FF arrivati verso gli 80mb iniziano ad occupare tutte le risorse e si bloccano...


  10. #10
    Quali risorse scusa? ma che diavolerie stai facendo??

    Non riesco davvero a capire in che modo tu faccia questo controllo... in ajax + php immagino.. altrimenti come diavolo fai a fare il check???

    Attendo fiducioso info..
    .. tutti siamo utili, ma nessuno è indispensabile ..

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.