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
Bonjour,

J'aurais besoin de votre aide pour un script Upload en php comme sur youtube.
Mais pas avec des videos .
Avec des maps qui marche sur le moteur source.

J'explique:
Il y'aurait une page php nommé: Upload.php .
Sur cette page la personne devrais marquer:
Le nom de sa map.
La description.
Une photo
Et son dossier map .bsp .

Il clique sur envoyer.
Sa charge et la le toute la description qui la marquer va sur une page php genre.
www.siteweb.com/map4457£e4

Un peut comme sur youtube ^^

J'ai regarder partout j'ai rien trouver.
Si vous pouvez m'aider sa serait vrement coule et en plus vous feriez avancer d'un grand pas :)

Merci de votre aide



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
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...
0
.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
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>
0
.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
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>

0
.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
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');

0