Comment on cree un systeme de partage .....

alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   -  
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   -
Voilà je me suis fait un site "Server-Download" et je voudrai cree un site de partage de fichiers comme
" RapidShare" , en faite moi ce que je voudrai faire c'est que tout le monde puise envoyé des fichiers vers un serveur ftp ,sans rentré dedans, et avec un systeme de recherche de fichiers.

Merci de trouver la solution pour moi
A voir également:

7 réponses

guismo69 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour

Je ne sais pas si vous etes bien au courant mais style RAPIDSHARE veut aussi dire partage , alors fait attention a ne pas confondre avec du partage de fichiers interdits P2P , je serais toi je ne partagerais pas a part mes connaissances , je pense que comme vous qui nous lirez surement meme sans poster serez de mon avis moi le petit nouveau, d'ailleurs mon site qui est en projet est basé sur ce principe et pour eviter les abus je ne sais meme pas si j'y mettrais un forum afin d'avoir le temps de tout gerer

Sinon : Attention donc a ce que tu t'engages a partager !!
0
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Salut guismo,

" alors fait attention a ne pas confondre avec du partage de fichiers interdits P2P"

Il faut arrêter d'associer partage illégale et le peer to peer. Le P2P ça veut dire "personne à personne", rien d'autre, de plus, là il s'agit de "serveur à personne". Sans oublier que RAPIDSHARE lui aussi permet la diffusion de fichier protégé par des droits d'auteur.
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   > s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention  
 
Nom mais moi je shouaite faire le meme systeme d'echanges ,que rapidshare mais que partager des fichiers légal comme des logiciels de 01.net ,ou des démos de jeux,des paths,des maps ect....

je ne veux pas faire un echange P2P.

Alors sy vous plai aider-moi à rendre posible ce systeme
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
Je pense avoir trouvé un systeme ,j'ai copier la liste des codes ,que filleZilla moivoi quand je tranfere un fichier,(et mon idee c quand je rentre le repertoire du fichier,et quand je cliquera sur le bouton,il effectura ceci:


Etat : Connexion à server-download.ifrance.com ...
Etat : Connecté à server-download.ifrance.com. Attente du message d'accueil...
Réponse : 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Réponse : 220-You are user number 74 of 1000 allowed.
Réponse : 220-Local time is now 14:48. Server port: 21.
Réponse : 220-This is a private system - No anonymous login
Réponse : 220 You will be disconnected after 15 minutes of inactivity.
Commande : USER ANNOMYNE??????????????
Réponse : 331 User server-download_1 OK. Password required
Commande : PASS :ANNOMYNE??????????????
Réponse : 230-Your bandwidth usage is restricted
Réponse : 230-User server-download_1 has group access to: apache
Réponse : 230 OK. Current restricted directory is /
Commande : SYST
Réponse : 215 UNIX Type: L8
Commande : FEAT
Réponse : 211-Extensions supported:
Réponse : EPRT
Réponse : IDLE
Réponse : MDTM
Réponse : SIZE
Réponse : REST STREAM
Réponse : MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Réponse : MLSD
Réponse : TVFS
Réponse : ESTP
Réponse : PASV
Réponse : EPSV
Réponse : SPSV
Réponse : ESTA
Réponse : AUTH TLS
Réponse : PBSZ
Réponse : PROT
Réponse : 211 End.
Etat : Connecté
Etat : Récupération de la liste de répertoires...
Commande : PWD
Réponse : 257 "/" is your current location
Commande : TYPE A
Réponse : 200 TYPE is now ASCII
Commande : PASV
Réponse : 227 Entering Passive Mode (82,196,5,223,133,188)
Commande : LIST
Réponse : 150 Accepted data connection
Réponse : 226-Options: -a -l
Réponse : 226 3 matches total
Etat : Succès du listage du répertoire
Etat : Récupération de la liste de répertoires...
Commande : CWD Partage de Fichiers
Réponse : 250 OK. Current directory is /Partage de Fichiers
Commande : PWD
Réponse : 257 "/Partage de Fichiers" is your current location
Commande : TYPE A
Réponse : 200 TYPE is now ASCII
Commande : PASV
Réponse : 227 Entering Passive Mode (82,196,5,223,125,24)
Commande : LIST
Réponse : 150 Accepted data connection
Réponse : 226-Options: -a -l
Réponse : 226 10 matches total
Etat : Succès du listage du répertoire
Etat : Récupération de la liste de répertoires...
Commande : CDUP
Réponse : 250 OK. Current directory is /
Commande : PWD
Réponse : 257 "/" is your current location
Commande : TYPE A
Réponse : 200 TYPE is now ASCII
Commande : PASV
Réponse : 227 Entering Passive Mode (82,196,5,223,171,145)
Commande : LIST
Réponse : 150 Accepted data connection
Réponse : 226-Options: -a -l
Réponse : 226 3 matches total
Etat : Succès du listage du répertoire
Etat : Récupération de la liste de répertoires...
Commande : CDUP
Réponse : 250 OK. Current directory is /
Commande : PWD
Réponse : 257 "/" is your current location
Commande : TYPE A
Réponse : 200 TYPE is now ASCII
Commande : PASV
Réponse : 227 Entering Passive Mode (82,196,5,223,174,184)
Commande : LIST
Réponse : 150 Accepted data connection
Réponse : 226-Options: -a -l
Réponse : 226 3 matches total
Etat : Succès du listage du répertoire
Commande : TYPE I
Réponse : 200 TYPE is now 8-bit binary
Commande : PWD
Réponse : 257 "/" is your current location
Etat : Démarrage du chargement de C:\Documents and Settings\util1\Bureau\test
Commande : TYPE I
Réponse : 200 TYPE is now 8-bit binary
Commande : PASV
Réponse : 227 Entering Passive Mode (82,196,5,223,204,122)
Commande : STOR test
Réponse : 150 Accepted data connection
Réponse : 226 File successfully transferred
Etat : Chargement sur serveur réussi
Etat : Récupération de la liste de répertoires...
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai trouvé une aute solution ,un tout petit peu plus simple avec l'invite des commandes:

En faite je clique sur démarer puis exucuter ,puis je tape "ftp" , et apres je tape "open server-download.ifrance.com" puis apres il me demande mon login et mon mot de passe et apres voici les commandes :

Les commandes:

Open: ouvre une session sur le site.

Mput: Evoyer une liste de fichiers.

Mget: telecharger une liste de fichiers.

Put: Envoyer un fichier (exellent pour envoyer des virus HTML.)

Get: prendre un fichier sur le site.

Delete: supprimer un fichier.

Rmdir: supprimer un répertoire.

Mkdir: crée un répertoire.

Cd: répertoire précédent.

Cd/: revenir a la racine.

et je voudrai savoir si on peut utiliser ces comandes a partir de mon site ,sans rentré la dedans, juste en donnant le repertoire du fichier , et l'emplacement ou on veux le placer ,et apres je voudrai un bouton pour envoyer le fichier à partir de l'adresse du repertoire, et apres je voudrai un systeme pour rechercher des fichiers dans tous les repertoires ,mais de bloquer tous effacement des fichiers,que pour télécharger, "aider moi vite sy vous plait" merci!!!!
0
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Salut,

http://www.toutestfacile.com/php/cours/printables/PHPFacile.com-fileupload.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
Merci " s.spark" je vai essayer ça, tout de suite


(enfin quelqun qui m'aident)

Merci beaucoup
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
es-que il faut prendre le premier ,ou tout:

Upload de fichier
Upload de fichier (1/3)
Transfert de fichier de l'ordinateur de l'utilisateur vers le serveur web
L'upload de fichier s'appuie tout simplement sur le protocole fourni par le navigateur que l'on met en oeuvre grace au bout de code HTML qui suit:

<html>
<body>
<form enctype="multipart/form-data" action="fileupload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Transfère le fichier <input type="file" name="monfichier" />
<input type="submit" />
</form>
</body>
</html>



Il s'agit simplement d'un formulaire avec quelques spécificités

une option enctype="multipart/form-data" indiquant un échange de données
un champ caché (optionnel) indiquant la taille maximale (en octets) autorisée pour le fichier à "uploader"
un champ de type fichier permettant entre autre à l'utilisateur de sélectionner le fichier dans son système de fichiers.

Remarques:

La taille maximale autorisée est également contrainte par la configuration du serveur web et de php (Cf. fichier php.ini)


Mais que devient le fichier transféré sur le serveur web? Qu'est-ce que je dois mettre dans le fichier fileupload.php? Pour le savoir je vous invite à lire le chapitre suivant.

Upload de fichier (2/3)
Le fichier est tout bonnement transféré sur le serveur web dans un espace temporaire sous un nom arbitraire. Les informations relatives à ce fichier transféré sont donnée par l'élément du tableau $_FILE[] (depuis PHP 4.1) ayant pour clé le nom qui a été fixé dans le champ de type file du formulaire (ici $_FILES["monfichier"]). Cet élément est lui même un tableau.

Le nom et chemin du fichier temporaraire est alors donné par $_FILES["mon_fichier"]["tmp_name"].

Après avoir testé la présence du fichier et s'être assuré qu'il s'agit bien d'un fichier uploadé (via la fonction is_uploaded_file()), il faut copier ce fichier dans un espace non temporaire que vous aurez défini. D'où le script fileupload.php

<html>
<body>
<?php
$repertoireDestination = "repertoirebidon/";
$nomDestination = $_FILES["monfichier"]["name"];

// Pour raison de sécurité nous ajouterons aux fichiers
// portant une extension .php .php3, l'extension .txt
if (eregi(".php", $nomDestination)) {
$nomDestination .= ".txt";
}

if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
if (rename($_FILES["monfichier"]["tmp_name"],
$repertoireDestination.$nomDestination)) {
echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
" a été déplacé vers ".$repertoireDestination.$nomDestination;
} else {
echo "Le déplacement du fichier temporaire a échoué".
" vérifiez l'existence du répertoire ".$repertoireDestination;
}
} else {
echo "Le fichier n'a pas été uploadé (trop gros ?)";
}
?>
</body>
</html>



Remarques:

En fait, le test is_uploaded_file() et le déplacement du fichier par rename peut être réalisé par un unique appel à move_uploaded_file().


Remarques:

Outre $_FILES["monfichier"]["tmp_name"], plusieurs autres informations sont alors disponibles, comme:
$_FILES["monfichier"]["name"] qui contient le nom qu'avait le fichier dans l'espace de l'utilisateur
$_FILES["monfichier"]["size"] qui contient la taille du fichier en octets
$_FILES["monfichier"]["type"] qui contient le "MIME type" du fichier (ex: text/html, image/gif, etc.)



Et c'est tout... Mais rassurez-vous, vous avez le droit de compliquer tout cela.

D'ailleurs, je suis certain que non content de transférer le fichier, vous voulez en plus en garder trace en base de données... Allez... C'est parti

Upload de fichier (3/3)
et stockage en base de données
Remarques:

Même si cela est tout à fait possible, je déconseille de stocker en base de données le fichier lui-même. Cela aurait pour effet de rendre la base trop volumineuse et, qui plus est, cela complique les choses (inutilement).Il est donc préférable de stocker le fichier dans un espace dédié et de ne stocker dans la base que le nom du fichier (voire le chemin relatif).
Il est généralement déconseillé de conserver le nom du fichier tel qu'il était sur le disque de l'utilisateur. En effet, il pourrait arriver que 2 utilisateurs transfèrent des fichiers différents sous le même nom et, à moins de spécifier des chemins différents par utilisateur, cela aurait pour effet d'écraser l'un des fichiers. Il est donc préférable de donner à ces fichiers un nom qui soit unique par utilisateur soit en créant des répertoires par utilisateur (ce qui peut faire un grand nombre de répertoires) ou plutôt en leur donnant comme nom l'identifiant unique de l'utilisateur (exemple son login) suivi éventuellement d'un descriptif (ex: jdupond_icone.gif, jdupond_photo.gif, shadok_icone.gif).



Ce qui donne par exemple les fichiers suivants:

<html>
<body>
<form enctype="multipart/form-data" action="fileupload_bd.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="text" name="login" />
Ma photo <input type="file" name="maphoto" />
Mon icone <input type="file" name="monicone" />
<input type="submit" />
</form>
</body>
</html>



<html>
<body>
<?php

// connexion à la BD
// --> Cf. Tutorial BD

// définition de l'espace destiné à recevoir les fichiers
$repository="/home/httpd/htdocs/";

// si un fichier maphoto a bien été transféré
if (is_uploaded_file($_FILES["maphoto"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$nomPhoto = $_FILES["maphoto"]["name"];
$extension = substr($nomPhoto, strrpos($nomPhoto, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$cheminPhoto = $login . "_photo" . $extension;
rename($_FILES["maphoto"]["tmp_name"], $repository.$cheminPhoto);
}
if (is_uploaded_file($_FILES["monicone"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$monIcone = $_FILES["monicone"]["name"];
$extension = substr($monIcone, strrpos($monIcone,"."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$cheminIcone = $login . "_icone" . $extension;
rename($_FILES["monicone"]["tmp_name"], $repository.$cheminIcone);
}

// Exemple de requete de stockage en BD avec MySQL
// et une table qui aurait pu être créée par
// CREATE TABLE matable (login varchar(64), image varchar(64), icone varchar(64));
mysql_query("INSERT INTO matable (login,image,icone) VALUES ('" . addslashes($login)
. "','" . addslashes($cheminPhoto) . "','" . addslashes($cheminIcone) . "')");
?>
</body>
</html>



Voilà, j'espère avoir ainsi répondu à vos questions.
0
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Pas la peine de poster tout le contenu du lien ici, ça fait un topic à rallonge.
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
et le code htlm ,je le mai dans la base de donné de mon site,ou directement à partir de mon site
0
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Le code html n'as rien à faire dans une base de donné, lire bien le tuto tu devrai y arriver. Le partie 3 ne t'en préoccupe pas.

Si tu n'y connais rien en html/php/mysql je te conseil de t'y mettre, ça sera beaucoup plus simple pour tout le monde :

https://openclassrooms.com/fr/
0
alexboutbout Messages postés 114 Date d'inscription   Statut Membre Dernière intervention  
 
c'est bon g reussi c super, j'ai utilise FilleThigi "http://translate.google.com/..."
et c'est tres simple et ça marche voici mon site internet si vous voulez envoyer des fichiers ou en télécharger
"http://server-download.ifrance.com/" merci à tous
0