Insérer un fichier en Php

Résolu
vikyky Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
 issam -
Bonjour,

Je crée un site web en Php. J'aimerai que le client puisse m'envoyer un fichier. Pour cela j'utilise la fonction move_uploaded_file() .

Mais celle-ci ne marche pas. Croyez-vous que cela est du car je n'ai pas donné l'autorisation d'écriture, et si c'est le cas, comment puis-je la donner.

Cela est-il du à autre chose?
Merci de votre aide

Viky
A voir également:

4 réponses

dedale82 Messages postés 403 Date d'inscription   Statut Membre Dernière intervention   283
 
Salut,
sans code, c'est difficile de dire ce qui ne vas pas, donc en attendant, tu peux aller jeter un coup d'oeil la
http://www.phpfrance.com/tutoriaux/index.php/2005/04/26/30-lupload-de-fichiers
et la
http://fr.php.net/manual/fr/function.move-uploaded-file.php

A bientot
0
vikyky Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne vois toujours pas où est mon erreur. J'envoie mon script ci-dessous.

//dans ma page html

<html>
<HEAD> <title>Ajout fichier </title> </head>
<body>

<form method="post" action="inserer_fichier.php" enctype="multipart/form-data">
Nom du fichier: 

<input type="file" name="image" size="40">

<br><input type="submit" name="ok">
</form>
</body>
</html>


//dans mon php inserer_fichier.php
$uploaddir = '/images';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Le fichier est valide, et a été téléchargé 
avec succès. \n";
} else {
echo "Attaque potentielle par téléchargement de fichiers. 
\n";
}

?>


</body>
</html>


il n'y a pas d'erreur retourné, mais lorsque je vérifie que le fichier a bien été copié, ce n'est pas le cas.

Merci d'avance.

Viky
0
pzuk Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   5
 
Je n'ai pas lu le code mais je pense que le problème vient du fait que le php n'a pas le droit d'écrire sur le disque d'hebergement.

Je m'explique : Il y a un systeme de permission en écriture et en lecture sur les serveurs. Cela s'appelle le CHMOD.
Pour que PHP puisse écrire sur le serveur (donc enregistrer l'image, il faut un CHMOD à 777.
Pour modifier le CHMOD il faut que tu cliques (droit) sur le fichier où tu vas enregistrer tes images, puis sur "attributs" et mettre le bon CHOMD.

Voila j'espere ne pas avoir dit trop de conneries et que c'est ça ;
0
Viky > pzuk Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Je n'ai pas réussi à modifier le CHMOD. J'utilise free, et on dirait que ca se gère automatiquement. Par contre j'ai enfin réussi à mettre mon fichier dans mon répertoire. J'ai utilisé la fonction copy(). Je n'ai pas réussi à faire fonctionner move_uploaded_file() ... et pourtant c'est presque la même chose. Enfin merci pour ton aide.

Viky
0
YoY
 
Free est un hebergeur particulier, malheureusement, il n'autorise pas la modification du CHMOD.
Si tu veux continuer, je te conseil de prendre un autre hébergeur.
0
Vikyky
 
Il est possible de modifier le CHMOD, via un logiciel comme Fizella. Je me connecte tout simplement à mon espace perso, et via le logiciel je change les droits pour mes différents répertoires. C'est une solution à réaliser "manuellement"

Vik
0
issam
 
Tu veux parler de FileZilla ? Et bien même en modifiant les attributs, t'as une réponse du serveur disant que la commande CHMOD n'est pas connue.
Mais le problème ce n'est pas que le serveur ne veuille pas que le fichier écrive sur le serveur, c'est que le fichier envoyé est trop grand par rapport à la valeur de MAX FILE SIZE dans index.html.

En espérant que ça aide quelqu'un, désolé si ca fait chier que je remonte le topic :P
0