Script d'upload comme sur youtube
Fermé
Narkotic74
Messages postés
1
Date d'inscription
vendredi 11 mars 2011
Statut
Membre
Dernière intervention
11 mars 2011
-
11 mars 2011 à 14:39
.N Messages postés 25 Date d'inscription samedi 12 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 13 mars 2011 à 23:39
.N Messages postés 25 Date d'inscription samedi 12 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 13 mars 2011 à 23:39
A voir également:
- Script d'upload comme sur youtube
- Youtube mp3 - Guide
- Telecharger video youtube - Guide
- Fourtoutici upload ✓ - Forum Internet / Réseaux sociaux
- Youtube mp4 conconventer - Forum Vidéo/TV
- Script vidéo youtube - Guide
4 réponses
.N
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
542
Modifié par .N le 14/03/2011 à 04:43
Modifié par .N le 14/03/2011 à 04:43
Bon, voilà, je ne m'y connais pas trop en Php, donc excuse moi par avance si c'est plus ou moins le bazar dans mon code. Alors, ta question est assez intéressante, mais puisque je ne m'y connais pas, je ne sais pas s'il existe effectivement une méthode standard, conventionnelle et rependue pour générer des identifiants aléatoires dans une base de donné pour créer par exemple des liens vers des fichiers ou quelque information que ce soit. Mais bon, personnellement, j'aurais tendance à procéder ainsi : générer aléatoirement un identifiant assez long (pour éviter la récurrence) de caractères alpha-numériques, y attacher un id simple (peut toujours servir), et puis bien sûr l'information qu'on souhaite y rattacher. La série de lettres et de chiffres produite au hasard peut être utilisée comme id dans une base de données, ou encore comme nom de répertoire ou de fichier (rattaché à un utilisateur par exemple).
Bien entendu, pour un code propre, il faut tester si l'id aléatoire existe déjà avant de l'utiliser comme tel.
avec 32 caractères et disons un milliard d'entrées, on à une probabilité de récurrence de un sur (36^32 / 10^9) = 6,3340286662973277706162286946812e+40
Ce qui me semble acceptable.
Je poste à la suite de ce message quelques lignes de code pour illustrer ce que je veux dire...
Bien entendu, pour un code propre, il faut tester si l'id aléatoire existe déjà avant de l'utiliser comme tel.
avec 32 caractères et disons un milliard d'entrées, on à une probabilité de récurrence de un sur (36^32 / 10^9) = 6,3340286662973277706162286946812e+40
Ce qui me semble acceptable.
Je poste à la suite de ce message quelques lignes de code pour illustrer ce que je veux dire...
.N
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
542
13 mars 2011 à 23:34
13 mars 2011 à 23:34
Contenu du fichier addRandStr.php :
<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" media="screen" type="text/css" title="Design standard" href="Css/standard.css">
<title>Test</title>
<style type="text/css">
.errorText
{
font-weight:bold;
font-size:18px;
color:red;
}
.successText
{
font-weight:bold;
font-size:18px;
color:green;
}
</style>
</head>
<body>
<?php
mt_srand((float) microtime()*1000000);
function formatEntry($entry)
{
$returnValue = "";
$lenght = strlen($entry);
for ($i=0; $i<$lenght; $i++)
if ($entry{$i} == "'")
{
$returnValue .= "\\'";
}
else $returnValue .= $entry{$i};
return $returnValue;
}
function createRndStr($strSize)
{
$returnValue = "";
for ($i=0; $i<$strSize; $i++)
{
$parseValue = mt_rand(0, 35);
if ($parseValue < 10)
$parseValue += 48;
else
$parseValue += 87;
$returnValue .= chr($parseValue);
}
return $returnValue;
}
if (isset($_POST['newInformation']))
{
echo "Adding information...<br />";
$bdd = new PDO('mysql:host=localhost;dbname=testDataBase', 'root', '');
do
{
$newId = createRndStr(32);
$result = $bdd->query("SELECT 'informations' FROM 'randominformation' WHERE strId='".$newId."'");
}
while ($data = $result->fetch());
$bdd->exec("INSERT INTO randominformation(id, strId, informations) VALUES('','".$newId."', '".formatEntry($_POST['newInformation'])."')");
}
?>
<form method="post" action="addRandStr.php">
Écrivez ici vos information : <br />
<textarea name="newInformation" rows="8" cols="45"></textarea><br />
<input type="submit" value="Valider" />
</form>
</body>
</html>
.N
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
542
13 mars 2011 à 23:35
13 mars 2011 à 23:35
Contenu du fichier getRandStr.php :
<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" media="screen" type="text/css" title="Design standard" href="Css/standard.css">
<title>Test</title>
<style type="text/css">
.errorText
{
font-weight:bold;
font-size:18px;
color:red;
}
.successText
{
font-weight:bold;
font-size:18px;
color:green;
}
</style>
</head>
<body>
<?php
mt_srand((float) microtime()*1000000);
function createRndStr($strSize)
{
$returnValue = "";
for ($i=0; $i<$strSize; $i++)
{
$parseValue = mt_rand(0, 35);
if ($parseValue < 10)
$parseValue += 48;
else
$parseValue += 87;
$returnValue .= chr($parseValue);
}
return $returnValue;
}
if (isset($_GET['d']))
{
$bdd = new PDO('mysql:host=localhost;dbname=testDataBase', 'root', '');
$result = $bdd->query("SELECT 'informations' FROM 'randominformation' WHERE strId='".$_GET['d']."'");
if ($data = $result->fetch())
{
echo "<div class='successText'>";
echo "Information ".$_GET['d']." : </div>".$data['informations']."<br />";
}
else
echo "L'information n'a pas été trouvée.<br />";
}
else
{
echo "<div class='errorText'>";
echo "Erreur : aucun liens d'information spécifié.<br />";
echo "</div>";
}
?>
</body>
</html>
.N
Messages postés
25
Date d'inscription
samedi 12 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
542
13 mars 2011 à 23:39
13 mars 2011 à 23:39
Puis, le code SQL pour créer la base de donnée (peut être mis dans un fichier SQL) :
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Base de données: 'testdatabase'
--
-- --------------------------------------------------------
--
-- Structure de la table 'randominformation'
--
CREATE TABLE IF NOT EXISTS 'randominformation' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'strId' varchar(255) NOT NULL,
'informations' text NOT NULL,
PRIMARY KEY ('id')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
--
-- Contenu de la table 'randominformation'
--
INSERT INTO 'randominformation' ('id', 'strId', 'informations') VALUES
(1, '17hik9no3usqelw36xujwovhxppa8gth', 'Informations quelconque ;).'),
(2, '4eyk8zk2eoqqr49as03kxrqhjve8gse6', 'Bon, et une information de plus!'),
(3, '9k0n474v7dtn5zrogx468120jwizw43p', 'Ajout no.3'),
(4, '801birkqymn3j7s8i22128mq1u1kcuei', 'Ajout no.4');