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

Signaler
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014
-
cs_hornetbzz
Messages postés
60
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
3 janvier 2011
-
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
60
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
3 janvier 2011

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
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

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

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

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
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

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
aKheNathOn
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013

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
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

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

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