fonction copy() invalide [RESOLU]

WRInaute occasionnel
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
 
WRInaute passionné
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...
 
WRInaute occasionnel
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 ..
 
WRInaute occasionnel
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...
 
WRInaute passionné
jer2701 a dit:
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:
if(isset ($variable)) 
{ 
$destination=$_SERVER["DOCUMENT_ROOT"] ."/repertoire_destination/".$variable_name;      
copy($variable, $destination); 
}
J'espère que c'est la bonne :-D
 
WRInaute accro
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
 
WRInaute passionné
e-kiwi a dit:
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 ;-)
 
WRInaute passionné
Re: fonction copy() invalide

jer2701 a dit:
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
 
WRInaute occasionnel
Re: fonction copy() invalide

Mitirapa a dit:
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
 
WRInaute occasionnel
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 ?
 
WRInaute occasionnel
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.
 
Discussions similaires
Haut