TÉLÉCHARGEMENT FICHIERS AVEC TICKET DE TÉLÉCHARGEMENT

cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014 - 12 nov. 2008 à 14:02
cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011 - 2 oct. 2009 à 19:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48434-telechargement-fichiers-avec-ticket-de-telechargement

cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011
2 oct. 2009 à 19:50
Belle source !

Un petit up sur les commentaires précédents.

Et aussi pour dire que tu pourrais peut-être améliorer la "function generate_download_page()" qui ne gère pas par exemple la durée de download, ni les problèmes potentiels de buffer pour les gros fichiers.

Cet article pour illustrer mon propos, que tu as peut-être déjà lu :
http://fr.php.net/manual/fr/function.fread.php#63893
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
10 janv. 2009 à 21:56
Merci Kankrelune, ce tuto est effectivement très clair sur ce qu'il ne faut pas faire au niveau de la gestion des dates.
Bon, ben y a plus qu'à retrousser les manches et modifier mon script ET ma base de données.

Comme chez moi les semaines sont très longues (70 à 80h... hein? comment ça 35h? naaaaaan!? tu déconnes?), je n'ai toujours pas réussi à dégager le temps nécéssaire à la modification promise dans mon post précédent.
Mais je compte bien le faire prochainement car je dois implanter cette classe dans un projet en cours. Ce qui me donnera amplement l'oportunité de l'améliorer.

Merci encore pour vos commentaires


============================//===============================
il faudrait inventer des écrants à ultra-violet, je serais noir comme l'ebène!!! du moins du visage
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
10 janv. 2009 à 12:48
Au passage masternico concernant le timestamp tu prend la façon de procéder à l'envers... c'est pas à toi de faire la soustraction de timestamp pour créer ta requète SQL mais plutot ta SGDB de faire le calcul... tu y gagnera en perf et surtout en souplesse... peut être pas sur ce script en particulier mais d'une manière générale... .. .

un peu de lecture...

http://www.expreg.com/expreg_article.php?art=timestamp

@ tchaOo°
chams87 Messages postés 1 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 14 décembre 2008
14 déc. 2008 à 23:04
merci mon ami de votre aide.vraiment ce ca ce que je voulais.syer sur que tu va trouver l'aide si vous avez une probleme.Merci de plus
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
19 nov. 2008 à 09:41
Salut Akhenathon,
Merci aussi à toi pour ce commentaire plus que constructif. Cette semaine je doit finir un projet et ensuite je modifirais cette classe en fonction de tes remarques.

Par contre, il en est certaines dont je ne tiendrais pas forcément compte car elles avaient déjà été le sujet d'une réflexion précédente (cependant, je suis ouvert au dialogue):
- répétition du filename: c'est volontaire. En fait, je pars du principe que le site dans lequel la classe sera greffée contiendra déja une table 'bibliothèque de fichier' et que mon source arrive comme un composant enfichable qui ne se souci pas du reste. Disons que ma classe ne se charge que de l'atribution du ticket, pas de la gestion de la bibliothèque
- utilisation des cookies... perso, j'en ai horreur. Rien qu'à l'idée que certaines personnes les désactive et qu'alors le script ne fonctionne plus... De toute façon ce n'est pas pour la place que celà prend dans la base de données ;)
- timestamp pas un varchar: tu as totalement raison. C'est juste que pour le nettoyage de la table de téléchargement, je trouve plus simple de faire une soustraction entre deux valeurs 'unix time' que de devoir calculer la différence entre deux timestamp. Par contre, c'est vrais que c'est une habitude que j'ai prise depuis longtemps et que du coup je ne me suis pas plus renseigné que ça sur le format TIMESTAMP de MySQL. C'est peut-être une erreur et je suis preneur d'idées...


Pour le reste, je garde tes idées que j'incluerais dans la prochaine modif, y compris le script de nettoyage ;)

Merci encore
Utilisateur anonyme
17 nov. 2008 à 11:03
Salut, l'idée est superbe j'ai donc regardé en profondeur ton travail. J'espère que mes remarques pourront t'aider à avancer dans ton projet :

* Au niveau de la base :

Tu as une table download, ce qui est dommage c'est la répétition du filename (le timestamp c'est pas un varchar). Perso je pense que tu aurais dû faire un table bibliothèque de fichiers et une autre contenant juste des tickets de téléchargements.

Afin de rendre le travail plus intéressant et exploitable, dans cette classe de tickets tu aurais pu y rajouter l'adresse IP du demandeur afin d'avoir le nombre de téléchargements uniques - ainsi que l'accès ou non au téléchargement.

Un ptit script avec un DELETE ... FROM ... WHERE aurait été appréciable également pour automatiser le vidage de la table.

* Au niveau du code :

Bien la classe d'abstraction de la base, manquerais une classes intermédiaire de mapping des données, et un controleur (tu fais les deux dans la même classe).

Pour générer le ticket essayes ce lien :
http://fr3.php.net/uniqid - tu y trouveras ce que tu veux.

La classe qui permet de créer le ticket devrait juste retourner le code du ticket généré - au développeur de mettre en page son lien de téléchargement ;)

Concernant la génération - à chaque visite de la fiche.php un nouveau id est généré - tu aurais pu le mettre en cookie histoire d'éviter trop d'enregistrements dans la base.

* Au niveau de l'idée :

Très bonne idée de classe ! Juste un petit commentaire - il faudrait pouvoir distingue plusieurs types d'accès : accès définit dans le temps et accès permanent - certains fichiers peuvent être mis en lien à partir d'autres sites.

Je t'ai mis 8/10 car c'est une très bonne idée et ton script tient la route - je t'encourage à l'améliorer pour qu'il puisse devenir une brique de téléchargement utilisable sur n'importe quel site.
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
17 nov. 2008 à 07:15
Merci petifa pour ton commentaire :)

Bon, ben, au moin je ne me suis pas fait descendre, donc ça ne doit pas être trop mauvais ;)
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
12 nov. 2008 à 14:02
slt,
ca m'a l'air très sympa ce code, et puis niveau commentaire tu fais ca bien, définir les variables et les fonctions en début, on voit tout de suite a quoi ca sert.
A tester pour ma part
Rejoignez-nous