Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1795 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Script pour attribuer un "identifiant" à des vidéos

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Script pour attribuer un "identifiant" à des vidéos

n°1499219
max59166
Posté le 05-01-2007 à 11:20:50  profilanswer
 

Bonjour à tous !
J'ai créé il y a quelques années un site web ou j'héberge des vidéos faites avec des amis http://lescascadeurs.free.fr/. Le problème est que dans la page de vidéos http://lescascadeurs.free.fr/lesmeilleurs.php, à chaque fois que je veux mettre en ligne une nouvelle vidéo, je dois créer une page .htm avec le lecteur flash dessus, puis mettre une image et un lien sur la page http://lescascadeurs.free.fr/lesmeilleurs.php, de sorte que lorsqu'on clique sur "Voir la vidéo", la page .htm avec le lecteur flash s'ouvre en pop-up.
Le problème est que j'en ai marre de devoir toujours créer cette page .htm à chaque fois que je veux mettre en ligne une nouvelle vidéo ! Je voudrais, pour chaque vidéo, attribuer un "identifiant" de sorte que l'adresse soit du type suivant : http://monsite.fr/vidéo.php?watch=15
Je n'ai aucune idée du script à réaliser mais je pense que ça ne doit pas être bien difficile. J'ai effectué des recherches sur google mais je n'ai rien trouvé car je ne trouvais pas les mots correspondants à ma recherche.
 
Merci d'avance pour votre aide !!

mood
Publicité
Posté le 05-01-2007 à 11:20:50  profilanswer
 

n°1499268
max59166
Posté le 05-01-2007 à 12:34:00  profilanswer
 

Personne pour m'aider ? Vous ne connaissez pas des tutoriaux ou si quelqu'un pouvait me détailler les étapes du script ainsi que les fonctions correspondantes, ce serait déjà sympa !

n°1499277
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 12:51:05  profilanswer
 

ben pas dur :
- tu nommes chaque fichier vidéo avec un identifiant unique (par ex, le préfixe "videos" + le md5 du nom du fichier originel)
- sur la page qui référence toutes les vidéos, tu fais une boucle qui parcourt le répertoire contenant les vidéos pouvant être lue et génère la mise en page avec pour chaque vidéo, un lien hypertexte contenant le nom du fichier vidéo (ex : href="voir.php?vid=video158ffc1affcd51de6bbc347c12e3a41.mpg" ).
- sur la page qui lie le fichier, on récupère via $_GET['vid'] le nom du ficheir à lire.

n°1499282
max59166
Posté le 05-01-2007 à 12:56:57  profilanswer
 

merci beaucoup pour ta réponse ! je te tiens au courant

n°1499323
max59166
Posté le 05-01-2007 à 14:23:02  profilanswer
 

par contre ... c'est quoi le md5 du nom du fichier originel stp ?

n°1499378
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 15:21:23  profilanswer
 

ben md5(NomDuFichier.Ext);
où NomDuFichier.Ext représente le nom d'un fichier vidéo avec son extension (mais sans le chemin d'accès)...

n°1499404
max59166
Posté le 05-01-2007 à 16:05:33  profilanswer
 

donc par exemple, si j'ai bien compris le md5 d'une vidéo qui sera à http://monsite.com/vidéo002.flv ce sera vidéo002.flv ??

n°1499421
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 16:34:03  profilanswer
 

mais non, md5(), c'est une fonction de php qui donne le hashage MD5 d'un chaîne de caractères.

n°1499427
max59166
Posté le 05-01-2007 à 16:40:16  profilanswer
 

ah merde j'ai un peu du mal avec ça tu pourrais (si sa ne te dérange pas) me donner le code qui correspond à un md5 stp ?

n°1499433
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 16:43:30  profilanswer
 
mood
Publicité
Posté le 05-01-2007 à 16:43:30  profilanswer
 

n°1499435
max59166
Posté le 05-01-2007 à 16:46:26  profilanswer
 

merci beaucoup

n°1499459
max59166
Posté le 05-01-2007 à 17:32:04  profilanswer
 

bon franchement je sèche ... je suis désolé de te demander sa mais, est ce que, si le code n'est pas trop long, tu pourrais me rédiger un exemple de code avec comme vidéo, par exemple test.flv ? Je sais que c'est beaucoup demander donc je comprendrais si tu refuses. Merci d'avance !!

n°1499466
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:40:33  profilanswer
 

Je vais pas te faire le code car il faut que tu apprennes par toi-même. Pour l'instant, tu n'as pas posté l'ombre d'un bout de code. Donc ton code php va contenir comme fonctions :  
- opendir() http://fr.php.net/manual/fr/function.opendir.php
- md5()
- et je pense aussi basename() http://fr.php.net/manual/fr/function.basename.php
 
tu regardes les codes sources d'ex d'utilisation de ces fonctions qui sont donnés en dessous de la description de la fonction et pis zou, tu reviens avec le code que t'auras déjà fait. Je t'ai déjà donné l'algo (cf post plus haut)...


Message édité par rufo le 05-01-2007 à 17:41:01
n°1499470
max59166
Posté le 05-01-2007 à 17:45:30  profilanswer
 

ok c gentil merci à toi je vais bosser la dessus ! eske tu pourras "corriger" mes erreurs ? je n'ai pas posté l'ombre d'un bout de code car je n'avais aucune idée de ce que je devrais utiliser ! merci encore pour ton aide

n°1499471
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:46:07  profilanswer
 

pour info, tu devrais retirer ton adresse e-mail en clair de ton site, sinon, tu vas de faire spammer...

n°1499474
max59166
Posté le 05-01-2007 à 17:50:02  profilanswer
 

ah tu l'as visité ! qu'est ce que tu en pense ?

n°1499481
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 17:59:56  profilanswer
 

ben pour reprendre une célèbre expression : "je suis trop vieux pour ces conneries" :D

n°1499491
max59166
Posté le 05-01-2007 à 18:19:55  profilanswer
 

je  parle pas du contenu !!!! je parle du design et de l'arborescence du site en général !

n°1499492
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 18:23:16  profilanswer
 

Perso, je suis pas fan du noir en fond mais bon, ça colle avec le style du contenu.
Par contre, ça risque de devenir le bazar pour s'y retrouver quand il va y avoir beaucoup de vidéos.

n°1499494
max59166
Posté le 05-01-2007 à 18:26:13  profilanswer
 

oué c'est clair et encore j'en ai supprimé pas mal ! mais justement la avec le script dont tu m'as donné les clés, je devrais avoir moins de problèmes à chaque fois que je veux mettre une nouvelle vidéo en ligne !

n°1499499
max59166
Posté le 05-01-2007 à 18:37:56  profilanswer
 

désolé de t'emmerder encore, mais je voudrais savoir comment générer le md5 d'un nom de fichier, car là j'ai à peu près compris à quoi il sert, et j'ai testé l'exemple qui est sur http://fr.php.net/manual/fr/function.md5.php mais j'ai essayé de changer le nom et ça n'affichait rien !

n°1499542
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 20:40:44  profilanswer
 

$Resultat = md5($Chaine);
Dans $Resultat, tu vas avoir une chaîne de 32 caractères (des chiffres et des lettres de a à f).
 
Va lire un peu ce qu'est du hashage (md5, sha1, crc32...).

n°1499546
masklinn
í dag viðrar vel til loftárása
Posté le 05-01-2007 à 20:47:01  profilanswer
 

Faudrait salter le hash aussi, parce que si le hash n'est pas salté si 2 personnes uploadent des vidéos avec le même nom (ce qui va arriver, très vite) le truc va te pêter à la yeule :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1499566
max59166
Posté le 05-01-2007 à 22:20:05  profilanswer
 

sa y est g compris le principe du hashage et du "salage" ! comment faire pour salter un nom de fichier (ici en l'occurrence une vidéo)

n°1499567
max59166
Posté le 05-01-2007 à 22:22:48  profilanswer
 

merci beaucoup rufo je commence tout doucement à comprendre le principe ! Avec votre aide je vais y arriver ! je voudrais pour continuer savoir quel type de boucle je dois créer : en effet je sais créer une boucle avec while, etc .. mais je ne sais pas comment faire pour qu'elle "inspecte" le contenu d'un répertoire ! Rectification : j'ai réussi à faire cela avec la fonction $vid = dir("test/video/" ); mais je ne sais pas quoi écrire après .Encore merci !

Message cité 1 fois
Message édité par max59166 le 05-01-2007 à 22:45:59
n°1499576
masklinn
í dag viðrar vel til loftárása
Posté le 05-01-2007 à 22:41:58  profilanswer
 

max59166 a écrit :

sa y est g compris le principe du hashage et du "salage" ! comment faire pour salter un nom de fichier (ici en l'occurrence une vidéo)


Il faut générer une chaîne de caractères aléatoire à chaque coup.
 
Un truc genre

Code :
  1. function getSalt() {
  2.    $salt = array();
  3.    for($i = 0; $i < 6 ; $i++) { // 6 devrait être suffisant pour salter
  4.        $salt[] = chr(mt_rand(32, 126);
  5.    }
  6.    return implode('', $salt);
  7. }


C'est pas nécessairement exactement ça (je ne fais pas beaucoup de php), mais ça devrait ressembler.
 
Puis tu génères un salt pour chaque fichier, tu concatènes le salt et le nom de fichier, et tu hash le tout.

max59166 a écrit :

merci beaucoup rufo je commence tout doucement à comprendre le principe ! Avec votre aide je vais y arriver ! je voudrais pour continuer savoir quel type de boucle je dois créer : en effet je sais créer une boucle avec while, etc .. mais je ne sais pas comment faire pour qu'elle "inspecte" le contenu d'un répertoire ! Encore merci !


La réponse t'a déjà été donnée par rufo: opendir
 
Relis le thread en entier, tu as apparement raté quelques infos.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1499583
max59166
Posté le 05-01-2007 à 22:47:32  profilanswer
 

merci beaucoup d'avoir pris le temps de me répondre !

n°1499588
rufo
Pas me confondre avec Lycos!
Posté le 05-01-2007 à 22:57:28  profilanswer
 

sinon, plutôt que du rand() on peut concaténer dans le nom du fichier le timestamp du moment auquel le fichier a été uploadé ;)

n°1499589
max59166
Posté le 05-01-2007 à 22:59:01  profilanswer
 

c'est quoi du rand() stp ?

n°1499590
max59166
Posté le 05-01-2007 à 23:00:20  profilanswer
 

je voudrais savoir où je dois placer le code générant une chaîne de caractères aléatoires ?
celui-ci :
   1.
      function getSalt() {
   2.
         $salt = array();
   3.
         for($i = 0; $i < 6 ; $i++) { // 6 devrait être suffisant pour salter
   4.
             $salt[] = chr(mt_rand(32, 126);
   5.
         }
   6.
         return implode('', $salt);
   7.
      }
 


Message édité par max59166 le 05-01-2007 à 23:02:11
n°1499591
masklinn
í dag viðrar vel til loftárása
Posté le 05-01-2007 à 23:07:00  profilanswer
 

rufo a écrit :

sinon, plutôt que du rand() on peut concaténer dans le nom du fichier le timestamp du moment auquel le fichier a été uploadé ;)


Le problème c'est que les timestamps UNIX ont une résolution à la seconde, il y a peu de chances pour que deux fichiers portant le même nom soient uploadés à la même seconde, mais si c'est le cas on se mange une solution, la collision est largement moins probable avec une chaîne aléatoire ;)

max59166 a écrit :

je voudrais savoir où je dois placer le code générant une chaîne de caractères aléatoires ?
celui-ci :
   1.
      function getSalt() {
   2.
         $salt = array();
   3.
         for($i = 0; $i < 6 ; $i++) { // 6 devrait être suffisant pour salter
   4.
             $salt[] = chr(mt_rand(32, 126);
   5.
         }
   6.
         return implode('', $salt);
   7.
      }


euuuh... où tu veux, c'est juste une définition de fonction [:petrus75]

 

Tu sais vraiment coder en php [:petrus dei]


Message édité par masklinn le 05-01-2007 à 23:07:38

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1499673
rufo
Pas me confondre avec Lycos!
Posté le 06-01-2007 à 08:59:25  profilanswer
 

si je me souviens bien, le générateur de nb aléatoires est initialisé avec l'heure système : donc si 2 fichiers sont uploadés au même moment, y'a de bonnes chances que la séquence pseudo aléatoire générée soit la même, non?
Et puis franchement, la proba que 2 fichiers de même nom soient uploadés à la même seconde, faut franchement pas avoir de bol! Son site, c'est pas YouTube non plus, hein! :p Y'a pas un tel trafique!...
 
Bon maintenant, s'il le faut vraiment, on met comme nom de fichier :  
NomFichier+TailleFichier+Timestamp.ext -> le md5() de ça, ça fera plus de collision...

n°1499675
masklinn
í dag viðrar vel til loftárása
Posté le 06-01-2007 à 09:11:01  profilanswer
 

rufo a écrit :

si je me souviens bien, le générateur de nb aléatoires est initialisé avec l'heure système : donc si 2 fichiers sont uploadés au même moment, y'a de bonnes chances que la séquence pseudo aléatoire générée soit la même, non?
Et puis franchement, la proba que 2 fichiers de même nom soient uploadés à la même seconde, faut franchement pas avoir de bol! Son site, c'est pas YouTube non plus, hein! :p Y'a pas un tel trafique!...
 
Bon maintenant, s'il le faut vraiment, on met comme nom de fichier :  
NomFichier+TailleFichier+Timestamp.ext -> le md5() de ça, ça fera plus de collision...


bon j'ai du mal à mareequoter depuis mon téléphone amord je vais répondre d'un bloc :o
 
1. Effectrivement tu as raison, j'avais oublié que deux accès concurrents à des pages php créaient deux "programmes" exécutés en // donc initialisait deux générateurs aléatoires, mes excuses, tu as très probablement raison.
 
2. Bien sûr que ce n'est pas youtube, mais ce genre de conneries c'est typiquement ceux sur laquelle tu te manges un Murphy très rapidement, surtout quand "faut vraiment pas avoir de bol" :o
 
Et si peu de chances qu'il y ait que ça arrive, la probabilité est non nulle et ça reste un bug qui n'attend qu'une chose: pêter à la tronche de l'admin :o
 
3. Yup ça me semble pas mal :jap:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1499682
max59166
Posté le 06-01-2007 à 10:31:00  profilanswer
 

Citation :

Tu sais vraiment coder en php [:petrus dei]

Je suis débutant en PHP ! La plupart du temps je prends des codes que j'adapte pour mon site : je suis capable de les personnaliser, mais très peu souvent capable de les refaire, et c'est pourquoi j'ai beaucoup de mal ici ! Mais je vous remercie encore de m'aider car si je n'arrive pas à bout de ce script, je vais vraiment être très emmerdé !

Message cité 1 fois
Message édité par max59166 le 06-01-2007 à 10:34:45
n°1499684
max59166
Posté le 06-01-2007 à 10:37:49  profilanswer
 

ce que je ne comprends pas bien c'est est-ce que je dois renommer moi-même mes fichiers en NomFichier+TailleFichier+Timestamp.ext -> le md5() ou est ce qu'il va exister un script qui le fera tout seul ?

n°1499696
max59166
Posté le 06-01-2007 à 12:11:02  profilanswer
 

Ah j'ai trouvé le moyen pour créer une boucle qui scanne le répertoire dans lequel elle se trouve ! Qu'est-ce que vous pensez de ça ?
 
<?php
$handle = @opendir("." ); //Ouverture du répertoire et récupération du pointeur
while ($file = @readdir($handle)) { //On scanne le répertoire
echo '<a href="mapage.php?vid='.$file.'">';//génération du lien
}
@closedir($handle);
?>


Message édité par max59166 le 06-01-2007 à 12:36:21
n°1499921
masklinn
í dag viðrar vel til loftárása
Posté le 07-01-2007 à 12:38:22  profilanswer
 

max59166 a écrit :

Citation :

Tu sais vraiment coder en php [:petrus dei]

La plupart du temps je prends des codes que j'adapte pour mon site : je suis capable de les personnaliser


Ben c'est naze, ça apprend ni à coder ni à faire des trucs correctement :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1499933
max59166
Posté le 07-01-2007 à 13:06:31  profilanswer
 

je sais que c'est pas super, mais à la base j'ai créé un site pour que tous mes amis puissent alors voir ce qu'on fait, et je n'ai pas vraiment le temps d'apprendre le php ... par contre je maîtrise bien le html, c'est déjà ça, mais dans des scripts assez complexes comme celui que j'essaye de faire, je n'ai aucune chance sans aide ....

n°1499935
max59166
Posté le 07-01-2007 à 13:10:27  profilanswer
 

tu peux quand même regarder le bout de code que j'ai posté stp ?

n°1499938
masklinn
í dag viðrar vel til loftárása
Posté le 07-01-2007 à 13:12:31  profilanswer
 

Faut pas mettre les "@" :fou:
 
Ca sert à "effacer" les erreur, et PHP ne produit déjà pas assez d'erreurs :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Script pour attribuer un "identifiant" à des vidéos

 

Sujets relatifs
PhpMyAdmin, script gratuitInstaller une imprimante réseau via un script
probleme internet explorer avec java scriptPlugin script shell pour eclipse?
Script lecteur videoscript fil d'ariane breadcrumbs automatiqque
Script d'upload avec redimensionnement automatiqueRecherche un bon script news fiable
Script PHP qui fusionne des fichiersScript pour envoi de fichier par socket
Plus de sujets relatifs à : Script pour attribuer un "identifiant" à des vidéos


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR