Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2320 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  problème qd j'upload un fichier via un script PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème qd j'upload un fichier via un script PHP

n°995744
Fredux_lg
Posté le 28-02-2005 à 14:09:29  profilanswer
 

salut a tous,  
 
j'ai une petit problème lors de l'upload de fichiers (des photos en l'occurance) sur mon hebergement via un script php
 
tout se déroule très bien apparement, sauf ke a l'arrivée sur le server d'hébergement le fichier fait 0k (zéro) et il est donc illisible :(
 
si kelk'un a une idée... ca me sauverai
 
pour info voici le code du script que j'itilise :
 
------------------------
le formulaire d'upload :
------------------------
<html>
<head>
<title>Upload d'une image sur le serveur !</title>
</head>
<body>
<form enctype="multipart/form-data" action="PROC_upload.php" method="POST">
<font face="Verdana" size="2" color="#000000">
<b>Envoyer le fichier :</b>
</font>
<br>
Le fichier doit être inférieur à 100k<br><br>
et doit avoir une taille maximale de 640x480 px<br><br>
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<input type="submit" value="Uploader">
</FORM>
</body>
</html>  
 
---------------
les script php:
---------------
$target = "ftp://"mon_login":"mon_pass"@users.skynet.be/upload/"; // Repertoire cible
$extension = "jpg"; // Extension du fichier sans le .
$max_size = 100000; // Taille max en octets du fichier
$width_max = 640; // Largeur max de l'image en pixels
$height_max = 480;    // Hauteur max de l'image en pixels
 
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
 
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
 
//----------------------
// SCRIPT D'UPLOAD
//----------------------
 
if($_POST['posted'])
{
 
// On vérifie si le champ est rempli
 
if($_FILES['fichier']['name'])
{
// On vérifie l'extension du fichier
 
  if(substr($nom_file,-3) == $extension)
  {
   // On récupère les dimensions du fichier
 
    $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
       
   // On vérifie les dimensions et taille de l'image
 
    if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size))
    {
     // Si c'est OK, on teste l'upload
 
      if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES
['fichier']['name']))
      {
 
       // Si upload OK alors on affiche le message de réussite
 
        echo '<p align="center">';
        echo '<font face="Verdana" size="2" color="#FF0000">';
        echo '<b>Image uploadée avec succès !</b>';
        echo '</font>';
        echo '<hr>';
        echo '<b>Fichier :</b> '.$_FILES['fichier']['name'].'</br>';
        echo '<b>Taille :</b> '.$_FILES['fichier']['size'].' Octets</br>';
        echo '<b>Largeur :</b> '.$infos_img[0].' px</br>';
        echo '<b>Hauteur :</b> '.$infos_img[1].' px</br>';
        echo '<hr>';
        echo '<br><br>';
      }
       else
      {
 
       // Sinon on affiche une erreur système
 
        echo '<p align="center">';
        echo '<font face="Verdana" size="2" color="#FF0000">';
        echo '<b>Problème lors de l\'upload !</b><br><br><b>'.$_FILES['fichier']['error'].'</b>';
        echo '</font><br><br>';
      }
    }
     else
    {
 
     // Sinon on affiche une erreur pour les dimensions et taille de l'image
 
      echo '<p align="center">';
      echo '<font face="Verdana" size="2" color="#FF0000">';
      echo '<b>Problème dans les dimensions ou taille de l\'image !</b>';
      echo '</font><br><br>';
    }
  }
   else
  {
 
   // Sinon on affiche une erreur pour l'extension
 
    echo '<p align="center">';
    echo '<font face="Verdana" size="2" color="#FF0000">';
    echo '<b>Votre image ne comporte pas l\'extension .JPG !</b>';
    echo '</font><br><br>';
  }
}
else
{
 
// Sinon on affiche une erreur pour le champ vide
 
  echo '<p align="center">';
  echo '<font face="Verdana" size="2" color="#FF0000">';
  echo '<b>Le champ du formulaire est vide !</b>';
  echo '</font><br><br>';
}
}
?>
 
j'espère que ca vous dira quelke chose et que kelk'un pourra m'aider...
merci d'avance pour vos commentaires.

mood
Publicité
Posté le 28-02-2005 à 14:09:29  profilanswer
 

n°995750
KangOl
Profil : pointeur
Posté le 28-02-2005 à 14:12:31  profilanswer
 

je ne pense pas que ce soit possible d'uploader un fichier comme ca
 
regarde du coté des fonctions ftp de php...


---------------
Nos estans firs di nosse pitite patreye...
n°996125
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 17:41:41  profilanswer
 

Et de cette maniére t'as essayé ?  
$target = "upload/"; // Repertoire cible

n°996186
Fredux_lg
Posté le 28-02-2005 à 18:44:58  profilanswer
 

Tempus_Fugit a écrit :

Et de cette maniére t'as essayé ?  
$target = "upload/"; // Repertoire cible


 
oui j'ai essayer, ca dit ke l'upload a réussit mais je ne sais pas ou il va mettre le fichier :(
 
alors j'ai essayer avec : $target = "c:\";
la ca fonctionne il copie le fichier a la racine de mon lecteur et il a bien sa taille et est lisible.
 
c'est peutêtre l'hebergeur qui bloque kelkechose lors de l'upload, je vais essayer sur un autre hebergeur... lycos ou j'ai un autre site...


Message édité par Fredux_lg le 28-02-2005 à 18:46:30
n°996229
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 19:26:05  profilanswer
 

Et comme ca ?

Code :
  1. $target = $_SERVER["DOCUMENT_ROOT"].'/upload/';

n°996231
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 19:28:31  profilanswer
 

En fait faut bien vérifier si le dossier est bon donc fait un echo $_SERVER["DOCUMENT_ROOT"].'/upload/'; et vérifi s'il te méne bien au dossier que tu souhaites.

n°996467
Fredux_lg
Posté le 28-02-2005 à 22:12:53  profilanswer
 

Tempus_Fugit a écrit :

Et comme ca ?

Code :
  1. $target = $_SERVER["DOCUMENT_ROOT"].'/upload/';



 
oui avec ca ca fonctionne en local, ca upload dans le repertoir WWW la ou est installer easyPHP.
 
mais g fait un autre test comme je l'avais dit, j'ai essayer sur un autre hébergeur (Lycos) et la hoooo miracle, mon fichier est uploader sans aucun problème et il est intacte.
 
Est-ce possible que l'autre hebergeur ne l'écrive pas correctement pcq il ne supporte pas le PHP ?

n°996540
KangOl
Profil : pointeur
Posté le 28-02-2005 à 22:51:06  profilanswer
 

c'est que ton quotat sur skynet est atteint...


---------------
Nos estans firs di nosse pitite patreye...
n°996573
Tempus_Fug​it
tempinou
Posté le 28-02-2005 à 23:11:47  profilanswer
 

Fredux_lg a écrit :

oui avec ca ca fonctionne en local, ca upload dans le repertoir WWW la ou est installer easyPHP.
 
mais g fait un autre test comme je l'avais dit, j'ai essayer sur un autre hébergeur (Lycos) et la hoooo miracle, mon fichier est uploader sans aucun problème et il est intacte.
 
Est-ce possible que l'autre hebergeur ne l'écrive pas correctement pcq il ne supporte pas le PHP ?


Okay, je n'avais pas du saisir. Si tu souhaites uploader sur un ftp distant tu vas devoir te réferer aux fonctions ftp http://fr.php.net/manual/fr/ref.ftp.php
 
Bon si effectivement j'ai une fois de plus pas pigé.
 
Je te dirai que, certains hebergeurs ne permettent pas l'upload de fichier au dessus d'une certaine taille par exemple. Enfin la meilleure solution est de poser la question a ton hebergeur ;)


Message édité par Tempus_Fugit le 28-02-2005 à 23:14:00
n°996814
Fredux_lg
Posté le 01-03-2005 à 09:42:22  profilanswer
 

KangOl a écrit :

c'est que ton quotat sur skynet est atteint...


 
non pas du tout g encore plein de place, c'est pas a cause de ca...

mood
Publicité
Posté le 01-03-2005 à 09:42:22  profilanswer
 

n°1006222
Fred21
Posté le 09-03-2005 à 00:01:29  profilanswer
 

Coucou !
Je pense que la fonction "copy" devrait t'intéresser ! ;-)

n°1011940
CoeurDePat
Posté le 14-03-2005 à 12:16:40  profilanswer
 

Fredux_lg a écrit :

salut a tous,  
j'ai une petit problème lors de l'upload de fichiers (des photos en l'occurance) sur mon hebergement via un script php


 
    Salut !
 
J'ai eu le même problème que toi, et il était dû à la fonction move_uploaded_file. Elle semble marcher, is_uploaded_file renvoie true, et pourtant le fichier n'apparaissait pas dans mon répertoire d'upload. A la pace j'ai utilisé un  
 

copy  ($_FILES["nom_fichier"]["tmp_name"], $new_name);
unlink($_FILES["nom_fichier"]["tmp_name"]);


 
et là tout fonctionnne.  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  problème qd j'upload un fichier via un script PHP

 

Sujets relatifs
Inventaire : importation d'info d'un fichier txt vers ms access 2000[XML/XSD] Bête problème de syntaxe
Problème entre PHP et la commande rshtransfert de fichier par tube
Probleme de requet SQL php[PHP] Petit problème avec les checkbox
LE problème des philosophesQuestion Script WSF :
Plus de sujets relatifs à : problème qd j'upload un fichier via un script PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR