PDA

Voir la version complète : pb avec fonction php "copy()" sur OVH ?


eurtmp
14/10/2004, 13h17
Bonjour

j'ai un site web sur un hebergement mutualisé OVH 60gp
je voudrais utiliser la fonction copy() dans une page php pour permettre aux visiteurs du site de charger des fichiers excel

C'est un code qui tournait très bien chez un autre hébergeur (free pour ne pas le nommer) et je n'ai rien changé à celui ci..

Et pourtant à chaque fois que j'essaye cette fonction sur le serveur OVH j'ai le message suivant
Error 500
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request."

Pourtant, j'ai bien mis les permissions sur les dossiers en chmod 777 , et la commande semble avoir été bien acceptée.

avez vous une idée de la raison du problème, et de comment le résoudre ? Est ce que la fonction copy() ne serait pas utilisable sur les sites OVH ? et si c'est le cas, quelle alternative existe t il ?

Et au passage, quel chemin dois je indiquer si je veux creer un repertoire "upload" pour ces fichiers uploadés ? www/upload/ ? www/upload/ ? /www/upload ? /www/upload/ ? ou autre chose

Merci d'avance
Christophe

sbouteil
17/11/2006, 09h47
J'ai à peu prés le même problème, un site qui marcha aussi chez free, ne marche pas chez OVH. Moi j'ai l'erreur :
Warning: copy(phptYyzIh) [function.copy]: failed to open stream: No such file or directory in ...
sur le code
If (isset($_POST["Envoyer"]))
{
$Fichier=$HTTP_POST_FILES['Fichier'];
if($Fichier!="" && $Fichier!="none")
{
$FichTmp=basename($Fichier['tmp_name']);
copy($FichTmp,"./telecharge/".$Fichier['name']);
}
}

même en mettant le répertoire en 777.
J'ai créé le répertoire telecharge, j'arrive à lire plus loin dans ce repertoire les fichiers que j'ai mis par ftp, Pourriez-vous me dire, s'il vous plait, ce que j'ai pas le droit de faire ou ce que ja'i publier de faire, en effet, il semblerait que le fichier temporaire (phptYyzIh) en fait n'existe pas.
lors que j'utilise move_uploaded_file($FichTmp,"./famille/".$Fichier['name']);
j'ai plus de message d'erreur, mais toujours pas de fichier.

cdlt

velk
22/11/2006, 18h30
Salut,

je fais de l upload chez ovh et ca fonctionne j utilise

$_FILES[$filename]["name"];
$_FILES[$filename]["size"];
$_FILES[$filename]["type"];
$_FILES[$filename]["tmp_name"];


et non $HTTP_POST_FILES pour acceder au fichier

et pour la copie : move_uploaded_file

Abogil
22/11/2006, 19h53
Salut,

je fais de l upload chez ovh et ca fonctionne j utilise

$_FILES[$filename]["name"];
$_FILES[$filename]["size"];
$_FILES[$filename]["type"];
$_FILES[$filename]["tmp_name"];


et non $HTTP_POST_FILES pour acceder au fichier

et pour la copie : move_uploaded_file

Je fais pareil.
Mais à la place de move_uploaded_file, j'utilise rename($nom_Source, $nom_Destination);

sbouteil
24/11/2006, 20h24
Je fais pareil.
Mais à la place de move_uploaded_file, j'utilise rename($nom_Source, $nom_Destination);

merci à velk et abogil, je vais essayer un peu plus tard, je manque un peu de temps tout de suite.

cdlt

avdp
24/11/2006, 20h50
Bonjour,

Ça marche très bien chez moi avec "rename()".
C'est le plus simple, mais les chemins des fichiers (paramètres 1 et 2 de la fonction) doivent être de la forme:
$_SERVER["DOCUMENT_ROOT"]."/dossier/fichier.php
Autrement dit: ne pas oublier le "www"...

Avdp