Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[debutant] probleme avec la fonction copy()

2 réponses
Avatar
c_guillon
Bonjour
je reposte ce message que les modérateurs du groupe avaient refusés
une première fois, en m'envoyant lire la faq, que j'avais déjà lu mais
qui n'avait pas répondu à mes deux questions. Donc j'espère que cette
fois - ci ca passera:

j'imagine que pour vous ca va paraitre trivial, mais pour moi
c'est compliqué :)

pour l'instant j'ai un script php sur une page hébergée chez
un hebergement gratuit (free) qui permet au visiteur d'effectuer
l'upload sur le serveur d'un fichier excel avec la fonction "copy".

Je viens de transferer mon site sur un hebergement payant mutualisé
OVH (pack 60gp), et là j'ai à chaque fois une erreur 500 "internal
server error" alors que j'ai bien fait les mises à jour des chemins
pour l'upload ET que j'ai bien mis les dossiers concernés en chmod 777
via mon logiciel ftp

d'ou ma première question: est ce que la fonction copy() n'est pas
supportée par les hébergements OVH ? ou est ce que j'aurai raté un
autre paramêtre (chmod 777 non autorisés, par exemple)?

Si cela ne vient pas de moi et que les copy() ne sont pas
opérationnels chez OVH j'aurai alors besoin d'une autre fonction qui
soit utilisable et facile à utiliser pour un nioubi comme moi.
J'ai bien vu sur php.net (et sur la FAQ) la fonction
move_uploaded_file mais
elle me pose duex problèmes;:
- est ce que ca fonctionnerait avec OVH si la fonction copy ne
fonctionne pas ?
- d'autre part (et surtout) j'avoue que je n'ai pas compris la syntaxe
de la fonction move_uploaded_file car d'une part elle est associée
dans l'exemple à un if dont je ne saisi pas l'interet, et d'autre part
il y est fait référence à des variables temporaires, mais je n'ai pas
compris si c'est moi qui les définit ou si c'est le serveur, et la faq
est muette sur le sujet (sauf si mes yeux me trahissent).

est ce que quelqu'un aurait des réponses ou des exemples "à ma portée"
?
merci d'avance
Chris

--

2 réponses

Avatar
CrazyCat
Christophe Guillon wrote:
[snip du problème de copy()]

J'ai bien vu sur php.net (et sur la FAQ) la fonction
move_uploaded_file mais
elle me pose duex problèmes;:
- est ce que ca fonctionnerait avec OVH si la fonction copy ne
fonctionne pas ?


Parce qu'elle est faite pour copier un fichier envoyé par formulaire
(donc dans un système temporaire) vers ton répertoire final

- d'autre part (et surtout) j'avoue que je n'ai pas compris la syntaxe
de la fonction move_uploaded_file car d'une part elle est associée
dans l'exemple à un if dont je ne saisi pas l'interet, et d'autre part
il y est fait référence à des variables temporaires, mais je n'ai pas
compris si c'est moi qui les définit ou si c'est le serveur, et la faq
est muette sur le sujet (sauf si mes yeux me trahissent).


Exemple commenté:
<?
if (isset($_FILES["import"])) {
// on vérifie qu'un champ "import" de type file est bien envoyé
if($_FILES["import"]["size"] != 0) {
// on vérifie que sa taille n'est pas nulle
$savefile= "./uploaded/import.xls";
// on définit l'emplacement et le nom du fichier final
$temp = $_FILES["import"]["tmp_name"];
// on définit la variable $temp qui récupère les infos sur l'upload
if(move_uploaded_file($temp, $savefile)) {
// on vérifie que la copie s'est bien faite
echo "$savefile disponible";
// action si tout est ok
} else {
echo "Erreur à la copie";
// action si erreur à la copie
}
} else {
echo "Fichier vide!!!";
}
} else {
echo "Pas de fichier envoyé";
}
?>

Pas moyen d'être plus clair.


--
Tchattez en liberté: http://www.c-p-f.net
Tout sur les eggdrops: http://www.c-p-f.org
ML @

--

Avatar
Paul Delannoy
Christophe Guillon a écrit:
Bonjour
[....

ZAPPE]
J'ai bien vu sur php.net (et sur la FAQ) la fonction
move_uploaded_file mais
elle me pose duex problèmes;:
- est ce que ca fonctionnerait avec OVH si la fonction copy ne
fonctionne pas ?
Sans doute, ça n'a pas de liaison forte a priori.


- d'autre part (et surtout) j'avoue que je n'ai pas compris la syntaxe
de la fonction move_uploaded_file car d'une part elle est associée
dans l'exemple à un if dont je ne saisi pas l'interet, et d'autre part
il y est fait référence à des variables temporaires, mais je n'ai pas
compris si c'est moi qui les définit ou si c'est le serveur, et la faq
est muette sur le sujet (sauf si mes yeux me trahissent).


Lorsque tu fais un champ 'file' en PHP le serveur prépare un flux de
données entre le client et son répertoire 'temp' (sous Unix/Linux
généralement /var/tmp) et la fonction is_uploaded_file permet de savoir
si cette préparation est réussie. Si oui, alors move_uploaded_file n'a
plus qu'à placer ce fichier temporaire au bon endroit (si bien sur le
script en a le droit).


est ce que quelqu'un aurait des réponses ou des exemples "à ma portée"


Je viens de commettre un script pour exploiter ça :
http://www.univ-lemans.fr/~delannoy/Casiers/doc.html
sur la base d'un travail trouvé dans php-ressources-index.
J'eqça
PAUL

--