fonction copy() invalide [RESOLU]


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

fonction copy() invalide [RESOLU]

Message le Mer Mar 08, 2006 23:26

slt !

faut-il le répertoire cgi-bin pour utiliser la fonction copy() en php ?

J'ai le message d'erreur lorsque je l'execute :
Warning: copy(): open_basedir restriction in effect. File(/tmp/php9i5d59) is not within the allowed path(s):

8O
Dernière édition par jer2701 le Mar Mar 14, 2006 13:45, édité 1 fois.


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Jeu Mar 09, 2006 0:16

Non...
Vérifie le chemin d'accès...
Sinon regarde si l'autorisation d'écriture lecture pour tes fichiers est en CHMOD 0644 ou 0666...


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Message le Jeu Mar 09, 2006 0:24

ok ...

C'est bizzard j'utilise cette fonction sur d'autres domaines chez un autre hébergeur je n'ai pas de problème ..

l'autorisation d'écriture est en 755 et j'ai essayer en 777 ça marche pas non plus ..

Je sais qu'il est tard mais je doute que ça sois une erreur d'adresse, 8O je comprends pas ..


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Jeu Mar 09, 2006 0:37

Tu peux faire voir ton script ?


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Message le Jeu Mar 09, 2006 1:10

yes bouge pas


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Message le Jeu Mar 09, 2006 1:14

le champs texte du formulaire sur la page = $variable

ensuite j'execute :

if(isset ($variable))
{
copy($variable, "repertoire_destination//$variable_name");
}

en sachant que repertoire_destination est à la racine du serveur...


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Jeu Mar 09, 2006 8:10

jer2701 a écrit:le champs texte du formulaire sur la page = $variable

ensuite j'execute :

if(isset ($variable))
{
copy($variable, "repertoire_destination//$variable_name");
}

en sachant que repertoire_destination est à la racine du serveur...


Code: Tout sélectionner
if(isset ($variable))
{
$destination=$_SERVER["DOCUMENT_ROOT"] ."/repertoire_destination/".$variable_name;     
copy($variable, $destination);
}

J'espère que c'est la bonne :-D


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Jeu Mar 09, 2006 9:01

jer2701, tu dois effectivement préciser le répertoire de destination!
en plus de cela, ce n'est pas copy() mais move_upload_files() qu'il faut uitliser si tu fais du l'upload via un formulaire


david96
WRInaute passionné
WRInaute passionné
 
Messages: 1430
Inscription: 28 Aoû 2005

Message le Jeu Mar 09, 2006 9:19

e-kiwi a écrit:jer2701, tu dois effectivement préciser le répertoire de destination!
en plus de cela, ce n'est pas copy() mais move_upload_files() qu'il faut uitliser si tu fais du l'upload via un formulaire

J'utilise aussi move_upload_files() pour l'upload ;-)

Mitirapa
WRInaute passionné
WRInaute passionné
 
Messages: 1657
Inscription: 10 Juil 2002

Re: fonction copy() invalide

Message le Jeu Mar 09, 2006 10:02

jer2701 a écrit:slt !

faut-il le répertoire cgi-bin pour utiliser la fonction copy() en php ?

J'ai le message d'erreur lorsque je l'execute :
Warning: copy(): open_basedir restriction in effect. File(/tmp/php9i5d59) is not within the allowed path(s):

8O

j'ai eu aussi cette erreur alors que le script fonctionnait bien , la cause: le path php de l'hebergement ne me permettait plus d'ecrire dans /tmp/

donc soit changer en move_upload_files soit changer ton path pour avoir l'autorisation d'ecrire dans tmp


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Re: fonction copy() invalide

Message le Jeu Mar 09, 2006 21:31

Mitirapa a écrit:j'ai eu aussi cette erreur alors que le script fonctionnait bien , la cause: le path php de l'hebergement ne me permettait plus d'ecrire dans /tmp/

donc soit changer en move_upload_files soit changer ton path pour avoir l'autorisation d'ecrire dans tmp


Oui apparement il s'agit de ça ... mais je comprends pas ce que je dois faire ... qu'est-ce que ça veux dire :

"soit changer en move_upload_files soit changer ton path pour avoir l'autorisation d'ecrire dans tmp" ? 8O


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Message le Jeu Mar 09, 2006 23:50

en fait j'ai trouvé ce code là sur php.net


$uploaddir = '/var/www/uploads/';
$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. Voici plus d'informations :\n";
} else {
echo "Attaque potentielle par téléchargement de fichiers.
Voici plus d'informations :\n";
}

Mais je capte pas ce qu'il faut mettre pour le userfile et à quoi sert le tmp_name ?


jer2701
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 331
Inscription: 2 Sep 2005

Message le Mar Mar 14, 2006 13:45

Bon alors pour ceux que ça intérresse :

Le problème se situait sur un problème d'accès au répertoire /home/www/tmp. Quand PHP ne peut accéder correctement, il tente /tmp.

maintenant ça fonctionne bien avec le code suivant :

if(isset ($variable))
{
copy($_FILES["variable"]["tmp_name"], "repertoire_destination//$variable_name");
}

Merci à tous.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité