Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2007, 03h22   #1
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Par défaut [FTP] Expédier une photo dans un fichier et contrôler ses dimensions et son poids

Bonjour,

Je viens de survoler le tuto sur l'enregistrement des images, donc apparement la bonne solution c'est de les stocker dans un dossier et puis d'expédier seulement l'adresse de la photo dans la base, dans un champs varchar.

Bon.

Mais alors j'ai jamais bossé ni avec les fichiers ni avec les images

Donc en fait, comment je fais pour :

1) contrôler le format (.jpg obligatoire, éventuellement gif, ou png).
2) contrôler le poids (par exemple 20ko maxi).
3) contrôler les dimensions (par exemple 130*130)
4) vérifier que tout est bon
5) si c'est bon, comment j'envoie la photo dans le fichier ? Il faut que je la nomme, à priori avec l'id du client et puis je reconstruit l'url et l'envoie dans la base.

C'est ça ?

J'attend votre aide pour ces étapes parce que je ne vois pas du tout comment faire.

Merci d'avance et bonne année au passage
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 04h06   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Alors dans l'ordre :
  1. Tu peux vérifier l'extension (Comment tester l'extension d'un fichier ?) mais c'est pas sur à 100% vu que l'on peut facilement modifier une extension. Donc il reste la solution : Comment récupérer le type d'un fichier ? à associer éventuellement à image_ type_ to_ extension
  2. Son poids : tu as le formulaire pour le faire : Le contrôle de choix de fichier : <input type="file" />
  3. Les dimensions avec GD : getimagesize
  4. Que tout est bon je vois pas ce que tu veux dire
  5. Tu envoies dans le fichier, je comprends pas non plus. Tu veux certainement dire que tu places l'image dans le bon répertoire, dans ce cas : Comment envoyer un fichier depuis le navigateur sur le serveur à travers un formulaire HTML ? Tu pourras aussi renommer
Comme quoi, une petite recherche sur developpez et on trouve tout
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 22h54   #3
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Salut Kerod et merci de ta réponse,

Alors j'ai envie de commencer par controler le poids.

J'ai donc ramassé cette fonction, quelque part dans un obscure coin du net :

Code :
1
2
3
4
5
6
7
8
9
 
 $buffer = '';
if($fd = fopen ($avata), "r")) {
    while (!feof($fd)) {
        $buffer .= fgets($fd, 4096);
    }
    fclose ($fd);
 
$size = strlen($buffer);
Mais ça me va pas.

Ce que je veux en fait, c'est ça :
Code :
1
2
3
4
5
 
if(poids de la photo < 30ko AND taille de la photo < 130px*130px)
{on insère l'image dans un fichier;}
else
{echo 'la photo doit faire moins de 30ko et 130px de coté' ;}
Mais voilà, je rame quelque peu avec les deux conditions, du moins la première (le poids) puisque pour l'instant je suis bloqué à ce niveau.
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 23h27   #4
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
JE me permet de faire un copier coller direct d'un jeu PHP à moi où je demande a l'utilisateur d'envoyer une image comme tag de clan en 16*12 :

Code :
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
 
                $uploadfile = $uploaddir.$_SESSION['user']['clan_user'].'.gif';
 
                if(file_exists($uploadfile)) unlink($uploadfile);
                if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 
                {
                        if($img = imagecreatefromgif($uploadfile))
                        {
                                if((ImageSX($img) == 16) && (ImageSY($img) == 12))
                                {
                                        $texte .= '<center><h3>Votre nouveau tag <img src="'.$uploadfile.'" border="0"> à bien été enregistrée !</h3><br><br><a href="./index.php">Retour a l\'accueil</a></center>';
                                }
                                else
                                {
                                        $texte .= '<center>Votre image ne respecte pas les dimensions ! Pour rappel, c\'est 16 pixels en largeur pour 12 en hauteur.<br><br><a href="./up_tag.php">Recommencer</a></center>';
                                        unlink($uploadfile);
                                }
                        }
                        else
                        {
                                $texte .= '<center>Fotre fichier n\'est pas d\'un format valide ! <br><br><a href="./up_tag.php">Recommencer</a></center>';
                                unlink($uploadfile);
                        }
                } 
                else 
                {
                   $texte .= 'Le fichier est suspect et a été refusé ! ';
                }
Donc c'est du nature et brut de pomme, textes du jeu y compris !

EDIT : pour la compréhension au niveau du nom du fichier, je me suis pas fait chier, <id_clan>.gif. De la sorte, je suis sur de ne pas avoir de doublons dans les noms et je me fait pas chier a stocké de nom de fichier dans ma BDD, l'id suffisant.
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 15h15   #5
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Bon alors, je me réveille et je reviens sur le problème.

Merci Gloubi pour ton bout de code... auquel je pige pas lourd mais bon.

Déjà, j'essaie d'afficher le poids de l'image, je fais ça :

Sur la page avec le bouton parcourir, on m'a dit de rajouter la parti enctype :
Code :
1
2
3
4
 
<form method="post" action="creation-site.php" enctype="multipart/form-data">
<input type="file" name="photo" value="parcourir">
</form>
Ca c'est sur la page de réception, j'essaie juste d'afficher le poids :
Code :
1
2
$photo=filesize($_FILES['photo']);
echo ''.$photo.'';
Et j'obtiens sur cette même page :
Code :
Warning: filesize() [function.filesize]: Stat failed for Array (errno=2 - No such file or directory) in
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 16h27   #6
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
Si tu veux que ton images soit de dimension données (que ça soit une valeur exact ou un interval), oublie le poid de l'image !
Il existe une extension nomé gd2 qui est faite exprès pour ça ! prend le temps d'analyser mon code (il est actuellement en prod donc garanti 100% opérationnel), d'autant que ça te resservira un jour !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 16h30   #7
Membre habitué
 
Avatar de galak63
 
Inscription : novembre 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 126
Points : 134
Points : 134
c'est parce que $_FILES['photo'] est un tableau
__________________
Le plus dur dans la mort, c'est qu'on loupe l'apéro ...
www.usirugby.rf.lv
galak63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 23h29   #8
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Citation:
c'est parce que $_FILES['photo'] est un tableau
Euh... je vois pas en quoi $_FILES['photo'], ni ce que ça change et encore moins ce que je dois faire (ce qui m'intéresse le plus).

Citation:
Si tu veux que ton images soit de dimension données (que ça soit une valeur exact ou un interval), oublie le poid de l'image !
Il existe une extension nomé gd2 qui est faite exprès pour ça ! prend le temps d'analyser mon code (il est actuellement en prod donc garanti 100% opérationnel), d'autant que ça te resservira un jour
Le problème c'est qu'il manque quelque commentaire sur ce bout de code et quand j'ai voulu l'adapté ça n'a rien donné. Après, en effet pour le controle de la taille, ça va être utile, mais là déjà je voudrais vérifier le poids.

Donc en fait, concrêtement je fais quoi ?
Je réceptionne l'image ? je teste le poids comment ? Je n'y arrive pas. Après il faudra que je test les dimensions et si tout est bon je l'envoie dans un fichier.

Bon, mais là j'en suis toujours au même point
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 23h31   #9
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
C'est mon point deux, le poids :
Citation:
Son poids : tu as le formulaire pour le faire : Le contrôle de choix de fichier : <input type="file" />
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 23h48   #10
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Oui, j'ai lu, mais j'ai rien compris.


Ca c'est le code sur la page dont tu indiques le lien : les commentaires sont les miens.
Code :
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
<?php
 
//là déjà je ne vois pas à quoi sert cette fonction return_bytes. Moi c'est une photo que je récupère, qu'est-ce que viennent faire ce trim et ce strtolower. Cette fonction ne concerne pas mon cas.
function return_bytes($val) {
   $val = trim($val);
   $last = strtolower($val{strlen($val)-1});
   switch($last) {
       case 'g':
           $val *= 1024;
       case 'm':
           $val *= 1024;
       case 'k':
           $val *= 1024;
   }
 
   return $val;
}
 
//là c'est quoi ? Je défini la valeur maximal et puis je compare avec la taille du fichier ? en plus j'utilise jamais les fonctions... :? 
define('MAX_FILE_SIZE', return_bytes(ini_get('post_max_size')));
 
//et là c'est quoi ça encore ?
if(!empty($_FILES)){
    //
    // Debug
    //
    echo '<pre>';
    print_r($_FILES);
    echo '</pre>';
}
 
?>
Non franchement, j'essaie mais je vois pas. Ce que je veux c'est que le gars clique sur parcourir, m'expédie une photo et sur la page suivante j'indique simplement la taille (pour le test). Si c'est en dessous d'une certain taille j'insère la photo dans un fichier, sinon ça bloque.

Donc là, je te remercie Kerod pour ce lien, mais j'ai pas avancé d'un pas...
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 23h55   #11
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Bon on reprend :
  1. Tu crées ton formulaire de la même manière que : Comment envoyer un fichier depuis le navigateur sur le serveur à travers un formulaire HTML ?
  2. Tu crées juste pour l'exemple ton fichier php contenant juste print_r($_FILES). Et tu verras apparaitre tous les champs disponibles dont :
    • name : C'est le nom du fichier d'origine ; ce nom peut ne pas convenir au système de fichiers de notre serveur Web
    • type : Le type MIME du fichier tel que le navigateur le précise (attention, ce n'est ni le serveur Web ni PHP qui s'en occupent) ; cette information peut être falsifiée
    • tmp_name : Le nom attribué par le serveur Web lors de la réception du fichier dans le dossier temporaire
    • error : S'il n'y a pas eu d'erreur, ce champ vaut "0" (zéro) ; c'est le serveur Web qui détermine cette valeur
    • size : La taille du fichier, en octets ; cette information est fournie par le navigateur et peut être fausse
  3. Maintenant que tu as ces informations, tu peux créer ton code. Donc tu souhaites uploader ton image et tester le poids :
Code :
1
2
3
4
if(is_uploaded_file($_FILES['fichier']['tmp_name']))
{
   echo $_FILES['fichier']['size'];
}
Tu as le poids de ton fichier. Ensuite il te reste qu'à faire un if pour tester le poids

Quand je te disais que tu avais tout dedans.

Ps : Le paragraphe que je t'ai donné en lien ne s'arrete pas qu'à ce bout de code
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2007, 22h14   #12
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Citation:
Le paragraphe que je t'ai donné en lien ne s'arrete pas qu'à ce bout de code




Bon alors, j'ai fait ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
//page d'envoi :
<form method="post" action="creation-site.php" enctype="multipart/form-data">
 
<input type="hidden" name="MAX_FILE_SIZE" value="15000" />
<input type="file" name="photo" value="parcourir">
 
<input type="submit" name="pro-gratuit-8" value="envoyer">
 
</form>
 
 
//page de réception :
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
   echo $_FILES['photo']['size'];
}
Donc is_uploaded_file, je ne sais pas trop à quoi ça sert. ['tmp_name'] a à priori c'est un attribu qui récupère le poids. Et pour l'afficher on écrit $_FILES['photo']['size'] (et pourquoi pas $_FILES['photo']['tmp_name'] r_question6161.gif

Bon donc j'arrive à afficher le poids, j'ai donc fait un pas en avant mais franchement c'est gadouilleux.

Aussi, si le fichier uploadé à des espace dans son nom, par exemple "mon image.jpg", alors ça n'affiche pas le poids. Mais je pense que je peux changer le nom de fichier en lui attribuant par exemple la valeur de l'id du membre qui uploade.

Maintenant, je peux peut-être regarder le code de Gloubi :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
// dans ce cas, à quoi servent file_exists et unlike ? 
if(file_exists($uploadfile)) unlink($uploadfile);
 
//là, à quoi sert move_uploaded_file ? 
                if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 
                {
//------ normalement je prend le code à partir de là. Mais pourquoi je crée un gif avec imagecreatefromgif au lieu de prendre directement le fichier reçu et d'en controler la largeur et la hauteur avec ImageSx et ImageSy ?
                        if($img = imagecreatefromgif($uploadfile))
                        {
                                if((ImageSX($img) == 16) && (ImageSY($img) == 12))
                                {
                                        $texte .= '<center><h3>Votre nouveau tag <img src="'.$uploadfile.'" border="0"> à bien été enregistrée !</h3><br><br><a href="./index.php">Retour a l\'accueil</a></center>';
                                }
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2007, 23h45   #13
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Au risque de me répéter :
  • name : C'est le nom du fichier d'origine ; ce nom peut ne pas convenir au système de fichiers de notre serveur Web
  • type : Le type MIME du fichier tel que le navigateur le précise (attention, ce n'est ni le serveur Web ni PHP qui s'en occupent) ; cette information peut être falsifiée
  • tmp_name : Le nom attribué par le serveur Web lors de la réception du fichier dans le dossier temporaire
  • error : S'il n'y a pas eu d'erreur, ce champ vaut "0" (zéro) ; c'est le serveur Web qui détermine cette valeur
  • size : La taille du fichier, en octets ; cette information est fournie par le navigateur et peut être fausse
par conséquent tmp_name est indépendant de la taille et inversement. Si tu veux avoir la taille c'est uniquement avec l'attribut size et rien d'autre. Tu peux aussi utiliser la fonction filesize avec tmp_name.

Pour reprendre le tuto : tmp_name est le nom temporaire du fichier donc si tu veux faire des manipulation sur ce dit fichier c'est lui qu'il faut utiliser.
Autre chose, tu souhaites prendre ton image et le mettre dans un fichier ou juste uploader une image sur le serveur ?
De toute facon avant de faire tout le reste tu dois utiliser la fonction que je t'ai donné is_uploaded_file. Elle permet de savoir si le fichier est sur le serveur. Pour savoir s'il est complet tu dois utiliser le champ error (voir tuto). et après tu pourras faire tes tests sur le fichier et si tout est ok alors tu pourras utiliser move_uploaded_file. Tu vas pas déplacer un fichier qu in'est pas correct

Pour l'espace dans le nom de l'image : ca n'a plus d'importance vu qu'il a un nom temporaire :: tmp_name.
Pour finir quand tu sais pas à quoi sert une fonction, tu utilises le manuel sur php.net
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 00h31   #14
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Citation:
Pour l'espace dans le nom de l'image : ca n'a plus d'importance vu qu'il a un nom temporaire :: tmp_name.
Je comprend pas, parce que j'ai utilisé le code ci-dessous :
Code :
1
2
3
4
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
   echo $_FILES['photo']['size'];
}
Et bien si j'essaie d'uploader un fichier dont le noms est par exemple "mon image.jpg", alors ça a de l'importance, car ça ne m'affiche plus rien alors que sinon ça m'affiche bien le poids.

Citation:
name : C'est le nom du fichier d'origine ; ce nom peut ne pas convenir au système de fichiers de notre serveur Web
Justement, les histoires d'espace dans le nom n'ont-elle pas quelque chose à voir avec ce "système de fichiers" (dont j'ignore tout).

Citation:
type : Le type MIME du fichier tel que le navigateur le précise (attention, ce n'est ni le serveur Web ni PHP qui s'en occupent) ; cette information peut être falsifiée
J'imagine qu'il y a encore plein d'histoire de sécurités à prendre en compte avec ces histoires d'upload....

Citation:
tmp_name : Le nom attribué par le serveur Web lors de la réception du fichier dans le dossier temporaire
C'est quoi ce dossier temporaire ?

Citation:
error : S'il n'y a pas eu d'erreur, ce champ vaut "0" (zéro) ; c'est le serveur Web qui détermine cette valeur
Pourquoi y'aurait-il une erreur ?

Citation:
size : La taille du fichier, en octets ; cette information est fournie par le navigateur et peut être fausse
Bah alors, comment on fait pour pas se faire rouler ?

En fait je comprend pas la manip. Le gars upload un fichier avec le bouton parcourir. Bon et après ? Le serveur reçoit l'image et la met dans un fichier temporaire. Pourquoi ? Comment ? Et si on fait rien ou si il y a une erreur, il en fait quoi ? Elle est stockée, détruite ?

Citation:
Pour reprendre le tuto : tmp_name est le nom temporaire du fichier donc si tu veux faire des manipulation sur ce dit fichier c'est lui qu'il faut utiliser.
Donc mon bout de code au dessus, il est mauvais ?

Citation:
Autre chose, tu souhaites prendre ton image et le mettre dans un fichier ou juste uploader une image sur le serveur ?
J'ai lu qu'il ne faut pas l'envoyer dans la table. Ce qui m'enquiquine parce que c'est mille fois plus simple. Alors je pense créer un dossier imag_upload dans le répertoire www et j'y envoie les images uploadées par les membres. C'est pas ça ?
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 12h48   #15
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Pour que ce soit constructif, voilà ce qui doit être fait :
  1. Tu crées ton formulaire, ce que tu as déjà fait
  2. Puis tu crées le script qui réalise l'upload :
    • Récupération de la taille fichier
    • Vérification des dimensions
    • Si les dimensions sont bonnes, déplacement vers le bon dossier (sinon possible suppression du fichier, mais s'il est dans le dossier temporaire pas vraiment nécessaire).
Maintenant, voici comment fonctionne l'upload :
A la soumission du formulaire, le fichier est transmis au serveur par la méthode HTTP (en gros c'est un upload sur le serveur). Ce fichier est placé dans un répertoire temporaire, répertoire accessible par le serveur (son nom dépend du serveur, ainsi que son accessibilité). Tout ce dont tu as besoin dans ton cas c'est le lien fournit par $_FILES.
Maintenant pour ce qui est du reste :
  1. Tu testes pour savoir si le fichier est bien uploadé grace à la fonction is_ uploaded_ file
  2. Si cette condition est à true, tu récupères la taille par $_FILES['nomfichier']['size']. Et effectivement cette méthode n'est pas sûre à 100%, donc tu peux éventuellement la récupérer avec filesize($_FILES['nomfichier']['tmp_name'])
  3. Le mime-type est utile pour vérifier le type de fichier, si tu as besoin d'un filtre pour les fichiers. Mais il existe une fonction qui le fait aussi.
  4. Pour l'erreur (error) c'est utile pour savoir si le fichier est complet. C'est pour ça qu'il y a différents types d'erreur.
  5. le tmp_name est indépendant du nom, vu qu'il est complètement aléatoire. En effet, il correspond pas au véritable nom de ton fichier et c'est pour ça que tu as tmp_name et name. ET si je dis que l'espace n'a pas d'importance c'est justement parce que j'ai testé avec un script qui fonctionne
Mais tout ça est détaillé dans le tuto. Surtout à l'aide du code présenté par Guillaume
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h00   #16
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Bon alors, j'ai essayé ça déjà, pour suivre le tuto :

Code :
1
2
3
4
5
6
7
8
 
$chemin = 'http://www.site.com/visu/membres/';
 
if (move_uploaded_file($_FILES['photo']['tmp_name'], $chemin.$_FILES['photo']['name']))
{
    echo "Le fichier ".$_FILES['photo']['name'].
            " a été téléchargé avec succès dans ".$chemin;
}
Et ça m'affiche :
Code :
1
2
3
Warning: move_uploaded_file(http://www.site.com/visu/membres/image.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections. in /home/site/scripts/compte/minisite/form-pro-gratuit.php on line 662
 
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpgDQvud' to 'http://www.site.com/visu/membres/image.jpg' in /home/site/scripts/compte/minisite/form-pro-gratuit.php on line 662
Sachant que le script se situe dans le répertoires scripts/compte/minisite, à l'extérieur du dossier WWW. Alors que le répertoire visu/membres, celui des images, se situe à l'intérieur du dossier WWW.

Donc déjà, avant de (re)voir la suite, quelqu'un peut-il m'expliquer cette erreur ?
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h07   #17
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
move_ uploaded_ file

Si c'est hors www on pourra pas acceder Déjà arrives tu as voir les composantes de ton dossier grâce à l'url ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h14   #18
Inscrit
 
Inscription : juin 2006
Messages : 531
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 531
Points : 225
Points : 225
Heureusement que t'es là Kerod.
Bon alors j'ai mis un chemin relatif et c'est bon, ce petit script fonctionne et j'ai regardé dans le ftp de dreamweaver, l'image est arrivée dans le bon dossier.

Il me reste à :
- changer le nom de l'image pour lui attribuer par exemple le nom image_id_du_membre.jpg.
- controler que l'image est jpg, gif, ou un png, ou si c'est possible tout bascule en jpg par exemple.
- controler le poids et la taille.

Et quand tout ça est fait, alors seulement j'expédie l'image comme je viens de le faire.
Déjà pour changer le nom de l'image, je vois pas, puisque pour le peu que j'ai compris, je dois travailler avec le nom temporaire.

Je suis pas sorti de l'auberge.
JackBeauregard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h26   #19
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
D'abord il faut controler le poids de l'image soit par :
Code :
$_FILES['photo']['size']
ou
Code :
filesize($_FILES['photo']['tmp_name']
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 23h17   #20
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Au risque d'être un peu sec (ce doit être pour lire que mes tutos sont inutiles ), je te propose de bien relire TOUT ce qui t'a été proposé en lien et surtout d'ESSAYER.

C'est fondamental, essayer. Cela te permet d'expérimenter, donc d'apprendre par l'expérience. C'est notamment come cela que nous écrivons des tutoriels, en essayant toutes les solutions. En outre, il existe une documentation officielle très bien faite et je te recommande de t'y reporter dès que tu as un doute.

Bref, tu as ici tous les éléments pour répondre à ta question. Il faut jute le temps que cela mûrisse


__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h32.


 
 
 
 
Partenaires

Hébergement Web