mettre un fichier sur serveur - PHP - Programmation
Marsh Posté le 10-10-2005 à 17:51:07
la destination :
Code :
|
c'est possible? pas sur avec la fonction copy...
essaye ../ a la place
Marsh Posté le 10-10-2005 à 19:18:02
Pour poster du code, il y a la balise [ cpp ] (sans les espace)
Ca permet d'avoir des numéros de ligne de voir dessuite où commence et finis le code et de copier coller le code sans avoir à le retravailler afin de le tester si besoin.
Là, on dirait du code sorti d'un mail et c'est vraiment le bordel pour le lire en oubliant les "> " qui trainent en début de ligne.
Sinon, petite remarque sur le code : dans les chaines de caractéres ciommencant par un " , il faut certe doubler les "\" mais pas les "/". Ca risque pas de marcher avec un chemin d'accés pareil. Mais vu que ton code est dur à lire à cause de tes "> ", j'ai pas cherché à trouver d'autres erreurs.
Marsh Posté le 11-10-2005 à 15:39:36
Code :
|
Marsh Posté le 11-10-2005 à 15:47:47
\\ pour l'arborescence dans le system de fichiers de windows et non pas //
$HTTP_POST_VARS et $HTTP_POST_FILES sont depreciées au profit de $_POST et $_FILES depuis un bon moment.
Marsh Posté le 10-10-2005 à 17:46:58
Bonjour,
je souhaite transférer sur mon serveur des fichiers. Voici mon script :
> <?php
>
> // inclusion du fichier qui contient les fonctions générales
> include("fonctions.inc" );
>
> // traitement du formulaire
> if (isset($HTTP_POST_VARS["OK"])) {
>
> // récupérer les informations sur le fichier
> $informations = $HTTP_POST_FILES["fichier"];
>
> // en extraire
> // - son nom
> $nom = valeur_saisie($informations["name"]);
> // - son type MIME
> $type_mime = $informations["type"];
> // - sa taille
> $taille = $informations["size"];
> // - l'emplacement du fichier temporaire
> $fichier_temporaire = $informations["tmp_name"];
>
> // contrôles et traitement
> if ($nom == "" ) {
>
> // pas de nom => pas de fichier saisi
> $message = "Pas de fichier saisi.";
>
> } elseif ($fichier_temporaire == "none" ) {
>
> // fichier temporaire = none => fichier non transféré
> // car inexistant ou trop gros
> $message = "Pas de fichier transféré ";
> $message .= " (problème de nom ou de taille).";
>
> } else {
>
> // fichier bien reçu
>
> // déterminer sa destination finale
> $destination = "C://Program Files//EasyPHP1-8//tmp//$nom";
>
> // copier le fichier temporaire (tester le résultat)
> if (copy($fichier_temporaire,$destination)) {
>
> // copie OK => mettre un message de confirmation
> $message = "Transfert terminé - Fichier = $nom ";
> $message .= "Taille = $taille octets ";
> $message .= "Type MIME = $type_mime.";
>
> } else {
>
> // problème de copie => mettre un message d'erreur
> $message = "Problème de copie sur le serveur.";
>
> }
>
> }
> }
>
> ?>
>
> <HTML>
> <HEAD><TITLE>Saisie</TITLE></HEAD>
> <BODY>
>
> <FORM METHOD="POST"
> ENCTYPE="multipart/form-data">
> <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="204800">
> Fichier : <INPUT TYPE="file" NAME="fichier"><BR>
> <INPUT TYPE="submit" NAME="OK" VALUE="OK">
> </FORM>
>
> <?php
> echo vers_page($message);
> ?>
>
> </BODY>
> </HTML>
Lorsque je valide mon formulaire, j'ai en réponse "Problème de copie sur le serveur".
J'utilise la dernière version d'easyphp.
Merci de votre aide.