PHP - UPLOADER

Fermé
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 - 14 mai 2012 à 22:55
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 - 20 mai 2012 à 14:14
Bonjour,

J'aimerais que sur mon site on puisse Uploader des fichier et qu'ils se sauvegarde sur mon mac

Voila mon code html :
<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>


Et voila mon code php
<?php
$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
?>


Que faut-il changer pour que les fichiers se sauvegarde sur mon mac ?

Merci


14 réponses

Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
14 mai 2012 à 23:01
Bonsoir,

Il manque une application qui aille chercher les fichiers sur ton serveur. À ma connaissance, php ne permet pas ce genre de transfert.

Tu peux éventuellement héberger ton site sur ton mac, au quel cas les fichiers uploadés le seront directement sur ton mac.

Ou alors, tu fais plus simple et tu ouvres un compte Dropbox ou équivalent.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
14 mai 2012 à 23:31
Merci beaucoup tralala8 de ta réponse !
Comment héberger mon site su mon Mac ?
Comment utiliser drop box ?
Comment générer un lien de téléchargent aprés l'upload ?

Merci
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
Modifié par Tralala8 le 15/05/2012 à 23:04
Pour héberger ton site sur ton Mac, il faut d'abord fixer ton adresse ip (celle-ci étant plus que probablement dynamique). Pour ça, tu as des petits programmes du genre dyndns ou no-ip. Tu devrais trouver facilement sur Google.

Pour Dropbox, c'est un site qui propose exactement ce que tu cherches à créer. Tu peux créer des dossiers et les partagers avec d'autres utilisateurs. Il faut evidemment que cette application corresponde à ce que tu veux faire. Rends-toi sur leur site pour plus d'informations.

En ce qui concerne le lien de téléchargement, je n'en ai encore jamais créé. Je n'ai donc pas de solution à te proposer pour le moment. Je vais essayer d'y réfléchir un peu car c'est un code qui peut servir.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
15 mai 2012 à 23:33
Merci beaucoup,

Mais dans mon code on voit que le fichier est stocké dans un dossier <?php
$dossier = 'upload/'; qui s'apelle upload comment faire pour qu'il se stock sur mon bureau par exemple ?

Et pour dropbox, on peut partager des fichiers que entre logiciel dropbox :/
0

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

Posez votre question
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
17 mai 2012 à 10:57
Pour stocker tes fichiers sur ton bureau, je pense qu'en mettant le lien absolu vers celui-ci doit suffir. Ceci ne marchera évidemment que si ton site est hébergé sur ton Mac.

Sinon, Dropbox est une solution qui correspond à ta demande. Ce n'est pas le seul non plus. Mais il faut évidemment voir s'il correspond à l'utilisation que tu veux faire de ce genre de système. Je peux comprendre que le fait de devoir créer un compte peut être un frein.

Si tu veux utiliser ton site dans un cadre uniquement familial, je te recommande malgré tout de passer par une application telle que Dropbox (ou équivalent, il y en a plusieurs). Maintenant, si tu veux créer un site de stockage/partage de fichiers pour le grand public, c'est clair qu'il te faudra trouver une solution par toi même.

Dans ce dernier cas, il faut une longue réflexion sur l'architecture du site. Ne te lance pas dans la construction en te disant que tout va rouler et que tu mettras en oeuvre tes idées au fur et à mesure que tu les auras.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
17 mai 2012 à 14:00
C'est bon merci j'ai réglé mon problème, j'héberge mes fichier sur un hebergeur de 1tera :)

merci beaucoup tralala8

une derniere question, comment afficher le lien de téléchargement du fichier aprés l'upload ? Merci
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
18 mai 2012 à 10:05
Tant mieux si tes soucis sont réglés.

Pour afficher le lien de téléchargement, il faut avant tout attribuer un id permettant d'aller rechercher le fichier uploadé (un peu à la façon de MegaUpload).

Après avoir téléchargé le fichier (sur la page "upload.php" par exemple), tu fais une redirection vers une page qui va t'affichera le lien de téléchargement (affichage.php) en envoyant l'id du fichier uploadé (ça devient affichage.php?id=1 par exemple).

De cette façon, sur la page "affichage.php", tu peux récupérer l'id transmis et y afficher un lien tel que "http://www.tonsite.com/download.php?id=1". Et tu l'as compris, cette page récupérera l'id transmis et ira chercher le fichier en question.

L'idéal dans ce genre de méthode, c'est de générer un id comme pouvait le faire MegaUpload (c'est-à-dire du genre "wd237S56RE") afin de ne pas laisser les visiteurs se promener aisément partout dans tous les fichiers uploadés.

Pour ce faire, il existe sur internet quelques algorithmes comme la génération de mot de passe. Toutefois, l'id doit être unique ! Il faudra donc regarder à ce qu'un id généré n'existe déjà pas dans ta base de données.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
18 mai 2012 à 10:50
Réponse compléte trés simple merci

mais comment avoir une base de donnée (question bête mais je ne sais pas :/)
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
18 mai 2012 à 12:23
Ben si tu as pris un serveur de 1 tera, tu l'as certainement fait chez un fournisseur de ce genre de services (oh, free, ...). Ils t'ont probablement donné des accès sous forme de loin et de passions.

Tu te rends donc sur la partie phpmyadmin de ton fournisseur (https://phpmyadmin-gra2.hosting.ovh.net/ si tu es chez ovh) et tu te connectes avec les identifiants que tu as reçu.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
18 mai 2012 à 13:49
Ha ok merci beaucoup tu ma bien aider

Merci beaucoup
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
18 mai 2012 à 16:44
Je refais mon premier paragraphe parce que je viens de voir que la correction automatique a foutu le bordel.

Ben si tu as pris un serveur de 1 tera, tu l'as certainement fait chez un fournisseur de ce genre de services (ovh, free, ...). Ils t'ont probablement donné des accès sous forme de login et de pass.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
19 mai 2012 à 14:35
et pour onetsolution.eu c'est quoi le phpmyadmin ?
Merci
0
Tralala8 Messages postés 120 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 12 février 2013 14
20 mai 2012 à 10:27
J'ai un peu regardé sur Google et apparemment, tu peux y avoir accès depuis ton cpanel.
0
M4X0U Messages postés 202 Date d'inscription jeudi 14 juillet 2011 Statut Membre Dernière intervention 6 juin 2013 8
20 mai 2012 à 14:14
Merci beaucoup :)
0