
Forum de support de ClanFree.net
Vous n'êtes pas identifié.
Salut à tous, j'aimerais pouvoir partager avec mes membres des fichiers (Possibilité d'upload puis de download), je cherche donc un script, j'ai dû en essayer au minimum 20 (Je plaisante pas), et tous bugent ou ne sont pas adaptés, donc si quelqu'un en connait un bien parceque là ... ca me rendrait bien service :/
Hors ligne
Tu cherches un truc tout fait?

Hors ligne
Ouais ou un tuto pour le faire, je m'y connais vraiment pas beaucoup en php.
Hors ligne
Ben je peux te donner des adresses, a toi de voir après: phpscripts-fr.net, comscripts.com
Hors ligne
Ouais c'est ce que je suis allé voir ^^ .
Merci quand même
.
Hors ligne
Bah, ça dépend de ce que t'as vraiment en tête pour ton partage de fichiers, mais il y a moyen de faire un truc tout simple...
Tu fais un formulaire pour choisir un fichier, tu l'uploades dans un répertoire spécial, et aprés pour dl les fichiers, il faut aller se balader avec le navigateur dans le répertoire en question...
maintenant, ça c'est le truc basique... ptet que tu préfèrerais quelquechose de + évolué :o
Pour l'upload de fichiers en php, regardons ceci
...
ça t'aide?
Dernière modification par d4RK_l1NK (14-08-2007 14:15:56)

Hors ligne
Ha ouais carrément, j'ai parcourue vite fait car j'ai pas le temps mais c'est tout à fait ce dont j'avais besoin, merci je testerais et je vous dirais si ca m'a aidé.
Dernière modification par elros (14-08-2007 15:28:07)
Hors ligne
Re-salut, j'ai donc trouvé un tutorial super, je te le montre: http://www.phpfrance.com/tutoriaux/inde … e-fichiers
J'ai tout compris ! Sauf ça, quand j'upload:
Not Found
The requested URL /30.php was not found on this server.
En effet, j'ai pas la page 30.php, mais c'est ce passage que je pige pas:
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="30.php" enctype="multipart/form-data">
Je comprends pas à quoi il sert, je dois créer une page ?
Si quelqu'un s'y connait, merci.
Hors ligne
Il fallait enfaite nommer la page 30.php, mais voici le message d'erreur à présent:
Notice: Undefined index: photo in /var/www/odt.clanfree.net/30.php on line 33
Hors ligne
Il nous faudrait le code de tes pages pour savoir ce qui va pas.
En gros il te dit que ya pas d'index 'photo' dans ton tableau, que ton $_MACHIN['photo'] n'existe pas.
J'immagine qu'il s'agit du input de la page d'avant ? Auquel cas c'est $_FILES['photo'].
Hors ligne
Bah enfaite j'ai qu'une seule page, dans le tuto ils n'ont pas parlé de deuxième page donc je crois qu'il y a un soucis :/ .
Voici le code de ma page:
<?php
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'mp3', 'wma', 'wmv', 'avi');
$taille_max = 5000000;
$dest_dossier = '/telechargements/upload/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 5 Mo !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="30.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">fichier : </label><input type="file" name="photo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>Hors ligne
Non, c'est que tout est fait sur la meme page mais avec 2 appels différents. Tu sais, si tu veux te mettre a php, commence avec des choses plus simples, la tu t'attaque a un gros morceau.
Surtout que j'ai fait un test avec ton source, je n'ai pas d'erreur. Le fichier n'est pas uploadé mais ça c'est une autre histoire ^^
Hors ligne
Le problème c'est que j'ai besoin de ce script, alors j'imagine qu'il faut séparé quelque chose, séparé le formulaire du reste ?
EDIT:
J'ai cette erreur maintenant ^^ .
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /telechargements/upload/01.jpg in /var/www/odt.clanfree.net/upload_ok.php on line 33
Non serieux, je sais que c'est en forgeant qu'on devient forgeron, mais tu pourrais pas juste m'exliquer le mouvement du bras ? Une piste ?
Si tu veux pas, c'est pas grave m'enfin ^^ .
EDIT2: il semblerait que ce soit une question d'accès, quelle en est la cause, le CHmod ?
Dernière modification par elros (15-08-2007 12:25:38)
Hors ligne
Ah oui, j'avais repéré l'erreur, mais j'ai oublié de te dire.
Tu es en train d'essayer d'accéder a un repertoire qui, déjà est inexistant, mais auquel tu n'as pas le droit d'accéder (tu imagines si tout le monde avait le droit d'accéder a tout ? Au revoir clanfree
).
Donc /telechargements/upload/01.jpg n'a rien a faire là, il faut utiliser le chemin de ton répertoire personnel, qui est marqué juste derriere d'ailleurs: /var/www/odt.clanfree.net
Hors ligne
Ok merci alors je testerais.
Hors ligne
Enfaite j'ai pas compris ce qu'il fallait faire :/
Je comprends pas quel partie du code je dois modifier, le chemin est pourtant bon.
Hors ligne
Ca: /telechargements/upload/
T'as pas le droit d'y accéder, alors move_machin va planter. Donne un chemin dans lequel tu as le droit d'écrire, par ex /var/www/odt.clanfree.net/upload (si tu as créé le dossier upload).
Hors ligne
Merveilleux, je ne savais pas du tout que l'ancien chemin n'était pas accesible, merci !
Hors ligne
Salut, je reviens demander ton aide car je suis confronté à un nouveau soucis.
Regardes et essayes d'uploader: http://clan-odt.net/upload.php
Après t'auras un mesage avec un lien, clic dessus et essayes de voir une image, on ne peut pas les voir, car il faut les CHModé, évidement je vais pas toute les CHModé à chaque fois, donc j'ai regardé sur le web et voici une solution:
chmod ("$destination",0777);
Hélas je ne sais pas où le mettre dans mon fichier, donc si tu savais car je le mets entre les balises <?php et ?>, mais il semblerait qu'on ne puisse pas ranger comme on veut ce morceau de script, tu le verras par toi même en uploadant une image, il y a un message d'erreur (Mais le fichier est uploadé, mais pas CHModé).
Voilà, si le coeur t'en dit de m'aider ^^ .
Dernière modification par elros (16-08-2007 00:45:52)
Hors ligne
Ben c'est assez simple. Une fois que tu as fait ton move_uploaded_file, qui te déplace le fichier ou tu lui dit, il suffit de faire le chmod() juste après 
Hors ligne
Ok, merci, mais le problème c'est que ça bug: il n'y a aucun message d'erreur, mais le CHMod ne se fait pas, pourtant voici le code:
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
chmod ("$dest_dossier",0777);
Je ne comprends pas pourquoi, regardes http://clan-odt.net/upload.php.
Uploads un truc et vas sur le lien, je ne comprends vraiment pas, j'ai oublié un truc ?
Hors ligne
J'ai absolument pas suivi l'affaire, et j'ai peur de dire nimp...
mais faudrait pas plutôt écrire
chmod($dest_dossier . $dest_fichier, 0777);
c'est à dire spécifier le nom complet, et enlever les guillemets (que tu avais mis autour de ta variable)?

Hors ligne
C'était bien ça, merci beaucoup !
Hors ligne
Youpi, content d'avoir pu aider 

Hors ligne
Nan, mais je t'ai dit elros, commence avec des choses plus simples, car je suis sur que tu fait les choses, mais la tu les comprends pas 
Hors ligne