Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    E-Commerce, invio grossi file

    Ciao a tutti,

    sto realizzando un E-Commerce dove un cliente può decidere di acquistare diversi prodotti da portare in stampa: Libri, Cataloghi, Riviste, Poster ecc.

    Nella gestione del carrello, oltre al riepilogo di: prodotti, spese di spedizione, metodo di pagamento ecc. ho necessità di gestire l'upload di file da parte dell'utente.

    Infatti quando l'utente procede con l'acquisto deve poi fornire il materiale su cui poi poter lavorare.

    Es:
    -l'utente decide di acquistare 100 copie di un poster in formato 100x200 da personalizzare secondo sua grafica.
    -crea ed inserisce il prodotto a carrello
    -procede con l'acquisto
    -l'utente deve fornire a questo punto un file con la sua grafica (magari uno zip con una o più immagini)

    Dato che l'upload può riguardare diversi file (diversi prodotti) e anche pesanti, come conviene gestire la cosa?

    Grazie.

  2. #2
    O metti in piedi un sistema tramite FTP anonimo (configurando i diritti ad-hoc) oppure utilizzi script come MegaUpload o swfupload per far si che l'utente veda l'avanzamento del processo.

  3. #3
    beh, ci sarebbe da definire esattamente cosa intendi per file "pesanti", perché ci sono varie soluzioni per vari problemi.

    Premettendo che non conviene far caricare i file su servizi esterni (o almeno la penso cosi, si aggiunge una maggiore complessità per l'utente finale che magari non ne capisce niente) potresti, come alternativa, gestire il caricamento dei file tramite e-mail.

    Mi spiego meglio, se il file da uploadare è troppo grande (quindi avvisi l'utente) gli notifichi di inviare una mail con uno specifico oggetto definito da un codice e con allegati i vari file in modo che poi quando devono fare l'operazione sanno che la mail con oggetto X è di caio

    anzi, ti dico di più, quando il gestore accede all'ordine puoi benissimo, tramite IMAP, verificare se è presente la mail e permettergli di scaricarla (ci sono le apposite funzioni imap per php) cosi tutte le email stanno sempre sul server, il tuo codice gestisce l'eliminazione ed il download, e loro non devono scaricarsi tutto automaticamente
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Ti ringrazio molto (di nuovo ) Daniele.

    Quindi dici che è possibile gestire l'invio di file "grossi" via mail senza troppi problemi?
    Fino a che peso, secondo te, conviene suggerire all'utente di inviare il materiale via mail piuttosto che spedirlo su supporto fisico?

    In effetti non sò ancora quanto possano essere pesanti i file, ma potrebbero essere alcune centinaia di KB come diversi mega (si spera entro la decina).

    Diciamo che utilizzare strumenti come SWFupload (già usati in passato) non mi piace molto, ho avuto diversi problemi con SWFupload (causati spesso dal plug-in stesso e le diverse versioni del FlashPlayer), quindi usare la mail e demandare l'invio del materiale all'utente sarebbe ottimo, almeno eviterei il problema di dover gestire correttamente il completamento dell'ordine sulla base dell'upload riuscito o meno.

    Una soluzione che potrebbe essere anche possibile è che per file oltre una certa dimensione si richiede l'invio tramite supporto fisico, tipo CD, DVD ecc.
    Il sito di e-commerce da cui sto prendendo spunto prevede infatti anche tale opzione nei casi di file di notevoli dimensioni.

    Comunque domani provo subito a verificare le API di PHP per IMAP come mi hai suggerito.

    Grazie ancora e ... qualsiasi altro suggerimento nel frattempo è sempre ben gradito.

  5. #5
    La dimensione della e-mail è definita dal server di posta, quindi dipende dal provider che gestirà il sito.

    In ogni caso, per un sito del genere, è consigliabile un server virtuale ove potete benissimo andare a gestire la posta elettronica (proprio il server)

    Entro 10mb, comunque, è accettabile l'upload normale

    Considera che una ADSL 7mb ha crica 384kbit/s di upload ovvero è in grado di uploadare fino a 46kb/s quindi 10mb si tradurrebbero meno di 4 minuti ... poi in realtà non va mai al massimo, ma si può arrivare a 5/6 minuti, tempi accettabilissimi, soprattutto se è presente una barra di progressione

    In ogni caso puoi fare che i file più grandi di 10mb vengano inviati tramite e-mail (con un'avviso all'utente) e risolvi il problema

    Con una adsl a 20mbit, che mediamente a 600kbit errotti, si arriva a uppare circa 80 kb/s (poco meno) e quindi, per 10mb, ci vorrebbero 2 minuti e qualcosa (3 minuti considerando eventuali rallentamenti)

    Fare l'invio di documenti tramite supporto fisico è scomodo e, anche se ovviamente conviene prenderla in considerazione come opzione, è conveniente fornire un metodo più comodo come può essere l'invio di una e-mail con gli allegati.

    Con una macchina virtuale si può benissimo impostare il limite a 100mb, per esempio, anche se non credo che mai nessuno invierà una e-mail di quella dimensione, e si risolve il problema
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Il Server è nostro quindi possiamo gestircelo a piacimento per fortuna.

    Per l'invio su supporto fisico ovviamente è consigliabile solo come ultima opzione anche se temo che accadrà perchè essendo materiale che va in stampa spesso ad alte/altissime risoluzioni è facile che si arrivi anche a centinaia di MB o Gigabyte di roba, nel qual caso sarebbe l'unica opzione.

    Domanda: gestire l'IMAP con PHP è difficile?
    Proverò comunque a guardare su phpclasses.org per trovare qualcosa di utile.

  7. #7
    Originariamente inviato da Sgurbat
    Il Server è nostro quindi possiamo gestircelo a piacimento per fortuna.
    ottimo

    Domanda: gestire l'IMAP con PHP è difficile?
    Proverò comunque a guardare su phpclasses.org per trovare qualcosa di utile.
    no, non è difficile, soprattutto perché a te servono operazioni basilari e non ti servono le classi presenti su phpclasses, soprattutto perché ti bastano le funzioni di base di imap ma ancora di più perché l'85% del codice presente su phpclasses (col tutto che sono uno dei mirror) fa schifo ^^

    EDIT:
    per intenderci, dopo che ti connetti con
    http://www.php.net/manual/en/function.imap-open.php

    ti basta
    http://www.php.net/manual/en/function.imap-search.php

    per trovare il messaggio che ti interessa (mittente + oggetto) e
    http://www.php.net/imap_fetchstructure

    per elencare i blocchi presenti nel corpo del messaggio (ad esempio l'email sia in formato testo sia in formato html, gli allegati, ogni allegato è un elemento a se, e via dicendo) e

    http://www.php.net/imap_bodystruct

    per acquisirne il contenuto e via dicendo

    qui trovi molte informazioni utilissime
    http://www.linuxscope.net/articles/m...hmentsPHP.html

    ovviamente, se non vuoi usare IMAP puoi benissimo usare POP3, solo che dovresti fare un processo unico ovvero ogni volta che ti connetti al server pop3 scarichi il contenuto e lo assegni ai vari ordini (magari lo puoi fare via cron o casualmente agli accessi dell'amministratore e via dicendo)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.