IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

copie echoue 2


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Points : 77
    Points
    77
    Par défaut copie echoue 2
    Re,

    Dans une application dynamique avec liaisons à une bdd, j'ai un soucis lors du téléchargement d'un fichier image vers le serveur, le message d'erreur est le suivant:

    Je crois que c'est lors du transfert du fichier image du dossier temp vers le dossier de destination choisi dans mon code php. Je précise que je n'obtiens pas ce message avec un fichier image plus léger (celui ci fait dans les 800 ko à peine). Que faire svp? et comment?

    Merci encore

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Tu pourrais préciser un peu ton code pour que ce soit plus clair???

    si tu fais comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo"<form enctype=\"multipart/form-data\" action=\"./upload.php?dir=$dir&diapoSelected=$nbDiapo&ajoutImage=1\" method=\"post\">
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"400000\" >
    Choose a file to upload: <input name=\"userfile\" type=\"file\" >
    <input type=\"submit\" value=\"Upload File\" >
    </form>
    ";
    pense au MAX_FILE_SIZE, sinon, précises un peu plus ton code stp


    ++
    JC

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 234
    Points : 1 897
    Points
    1 897
    Par défaut
    jc_cornic à écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type='hidden' name='MAX_FILE_SIZE' value='4000000' >
    ... à quoi sert cette balise dans ce cas ?

    Merci.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut contrôler l'image
    C'est un champ caché qui va permettre de contrôler l'image. Probable que dans le script qui traite le formulaire, jc v

  5. #5
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut désolé
    J'ai saisit un peu trop vite et j'ai choppé la tab au lieu de A. Bref je reprends. Je disais donc que le input hidden permet de récupérer, sans que le visiteur s'en rende compte, la taille maximale pour un transfert d'une image. Il suffit, dans le script qui traite le formulaire de faire une boucle conditionnelle (if) qui va vérifier que la photo sélectionnée n'a pas une taille supérieure à la taille maximale prédéfinie.

  6. #6
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 234
    Points : 1 897
    Points
    1 897
    Par défaut
    Merci zyongh de répondre à ma question pour un post qui n'est pas de moi.

    Je me doutais bien qu'il s'agissait de cela mais je voulais en avoir confirmation.

    Merci encore.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Points : 77
    Points
    77
    Par défaut
    Effectivement, je vais voir si cette balise encore présente dans mon formulaire n'interfère pas avec mon code. sinon j'ai adapté du code trouvé sur le net en une tite fonction que je vous sert sur un plateau, dont l'un des paramètres concerne justement le poids max d'une image


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    function getExtension($fichier){
    $bout = explode(".", $fichier);
    $extension = array_pop($bout);
    return $extension;
    }
     
     
    function imageUpload($fileURL, $maxWidth, $maxHeight, $maxWeight, $dest_rep){
     
    $file_name = $_FILES[$fileURL]['name'];
     
    	if(getExtension($file_name) != "jpg" && getExtension($file_name) != "JPG" &&getExtension($file_name) != "gif" && getExtension($file_name) != "png")
    	{
    		$error="Le fichier doit être un JPEG, un GIF ou un PNG.";
    	}
    	elseif($_FILES[$fileURL]['size'] > $maxWeight)
    	{
    		$error="Le fichier doit peser moins de ".(round($maxWeight/1024, 2))." Ko.";
    	}
    	if(!isset($error))
    	{
    		$size_img = getimagesize($_FILES[$fileURL]['tmp_name']);
    		if($size_img[0] > $maxWidth || $size_img[1] > $maxHeight)
    		{
    			$error="Les dimensions maximales du fichier à charger en pixels sont de : <b>".$maxWidth."</b> x <b>".$maxHeight."</b>";
    		}
    	}
     
    	if (isset($error))
    	{
     
    	echo "certaines erreurs empêchent le chagement de l'image: <br>";
    	echo $error;
     
    	}
    	else
    	{
     
    		if(file_exists($dest_rep.$file_name))
    		{
    		$file_name = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $file_name);
     
    		}
     
     
    		if (move_uploaded_file($_FILES[$fileURL]['tmp_name'], $dest_rep.$file_name))
    		{
    		$url = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$dest_rep.$file_name;
     
    		echo "<div><br/>&nbsp;Le fichier est valide, et a &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; avec succ&eacute;s vers le serveur <br>
    					&nbsp;<u>Nom du fichier copi&eacute; :</u>".$nom_img."<br />
    					&nbsp;<u>URL sur le serveur :</u> <a href=".$url.">".$url."</a><br />
    					&nbsp;<u>Taille :</u>".round($_FILES[$fileURL]['size']/1024, 2)." Ko<br />
    					<br>";
     
    		return $url;
     
    		}
    		else
    		{
    				print("Copie &eacute;chou&eacute;e : ".$_FILES[$fileURL]['error']."<br />");
    				unlink($_FILES[$fileURL]['tmp_name']);
    		}
    	}
     
     
    }

  8. #8
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par zyongh
    J'ai saisit un peu trop vite et j'ai choppé la tab au lieu de A. Bref je reprends. Je disais donc que le input hidden permet de récupérer, sans que le visiteur s'en rende compte, la taille maximale pour un transfert d'une image. Il suffit, dans le script qui traite le formulaire de faire une boucle conditionnelle (if) qui va vérifier que la photo sélectionnée n'a pas une taille supérieure à la taille maximale prédéfinie.
    Non c'est pour spécifier au navigateur une taille max... mais ça ne dispence en aucun cas de refaire le test coté serveur surtout que tous les navigateurs ne prennent pas systématiquement en compte le MAX_FILE_SIZE.... concernant la taille maximum d'upload via php c'est dans le php.ini que ça se passe

    file_uploads = On/Off permet d'autoriser ou non l'envoi de fichiers.
    upload_tmp_dir = répertoire répertoire temporaire où sera stocké le fichier uploadé.
    upload_max_filesize = 2M définis la taille maximale autorisée pour le fichier. Si cette limite est dépassée, le serveur enverra un code d'erreur.
    post_max_size indique la taille maximale des données envoyées par un formulaire. Cette directive prime sur upload_max_filesize, il faut donc s'assurer d'avoir post_max_size supérieure ou égale à upload_max_filesize
    @ tchaOo°

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Points : 77
    Points
    77
    Par défaut
    Ou trouve-t'on ce fameux php.ini une fois le site en ligne sur un serveur ftp? J'ai trouvé le fameux .htaccess qui permet d'intervenir sur les fameux magic_quotes mais pas ce premier.

    Sinon pour le reste ça marche c'était bien cette balise qui bloquait certaines images, merci à tous

  10. #10
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par taffMan
    Ou trouve-t'on ce fameux php.ini une fois le site en ligne sur un serveur ftp?
    Si tu as un hébergement mutualisé ou gratuit il y a peu de chance que tu y ais accès... .. .

    @ tchaOo°

  11. #11
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 234
    Points : 1 897
    Points
    1 897
    Par défaut
    Mais phpinfo() te donnera les paramètres du serveur PHP.

Discussions similaires

  1. Erreur 1004 La methode copy de la classe Worksheet a echoué
    Par Bernard67 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/04/2008, 17h39
  2. Protéger une disquette contre la copie
    Par benzaza dans le forum Assembleur
    Réponses: 20
    Dernier message: 16/01/2005, 11h42
  3. Copier et afficher une copie d'ecran
    Par Bobx dans le forum Langage
    Réponses: 6
    Dernier message: 02/08/2002, 23h20
  4. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 16h23
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo