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 31/05/2007, 14h24   #1
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
Par défaut [Upload] upload d'images et affichage du lien

Bonjour à tous, j'espère que je poste dans la bonne section car il y en a tellement que je sais pas par où commencer.

Voilà ma question, j'ai trouvé un petit script php pour uploader des images sur un serveur et je voudrais qu'il m'affiche les liens pour l'affichage de l'image uploadée.
Voici le script d'upload :

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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
 
/************************************************************
    Definition des constantes / tableaux et variables
*************************************************************/
 
// Constantes
define('TARGET', 'files/');        // Repertoire cible
define('MAX_SIZE', 100000);        // Taille max en octets du fichier
define('WIDTH_MAX', 800);        // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800);        // Hauteur max de l'image en pixels
 
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg');    // Extensions autorisees
$infosImg = array();
 
// Variables
$extension = null;
$message = null;
 
/************************************************************
    Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
    if( !mkdir(TARGET, 0700) ) {
        exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
    }
}
 
/************************************************************
    Script d'upload
*************************************************************/
if($_POST)
{
  // On verifie si le champ est rempli
  if( !empty($_FILES['fichier']['name']) )
  {
    // Recuperation de l'extension du fichier
    $extension    = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
 
    // On verifie l'extension du fichier
    if(in_array(strtolower($extension),$tabExt))
    {
        // On recupere les dimensions du fichier
        $infosImg = getimagesize($_FILES['fichier']['tmp_name']);
 
        // On verifie le type de l'image
        if($infosImg[2] >= 1 && $infosImg[2] <= 14)
        {
            // On verifie les dimensions et taille de l'image
            if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
            {
                // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$_FILES['fichier']['name']))
                {
                    // Message de reussite
                    $message = 'Upload réussi !';
                }
                   else
                {
                    // Sinon on affiche une erreur systeme
                    $message = 'Problème lors de l\'upload !';
                }
            }
              else
            {
                // Sinon erreur sur les dimensions et taille de l'image
                $message = 'Erreur dans les dimensions de l\'image !';
            }
        }
          else
        {
            // Sinon erreur sur les dimensions et taille de l'image
            $message = 'Le fichier à uploader n\'est pas une image !';
        }
    }
      else
    {
        // Sinon on affiche une erreur pour l'extension
        $message = 'L\'extension du fichier est incorrecte !';
    }
   }
    else
   {
        // Sinon on affiche une erreur pour le champ vide
        $message = 'Veuillez remplir le formulaire svp !';
   }
}
 
/************************************************************
    Formulaire XHTML
*************************************************************/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <title>Upload d'une image sur le serveur !</title>
    </head>
    <body>
        <?php
            if( !empty($message) ) {
                echo '<p>',"\n";
                echo "\t\t<strong>", htmlspecialchars($message) ,"</strong>\n";
                echo "\t</p>\n\n";
            }
        ?>
        <!-- Debut du formulaire -->
        <form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
            <fieldset>
                <legend>Formulaire</legend>
                    <p>
                        <label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>
                        <input type="hidden" name="posted" value="1" />
                        <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" />
                        <input name="fichier" type="file" id="fichier_a_uploader" />
                        <input type="submit" name="submit" value="Uploader" />
                    </p>
            </fieldset>
        </form>
        <!-- Fin du formulaire -->
    </body>
</html>
Et voici ce que je voudrais qu'il m'affiche :

Votre image a été uploadé(e) avec succès

affichage de l'image

1) insérer cette image dans un message de forum, copiez et collez le code suivant:
lien_vers_l_image

2) Pour partager cette image ou ce fichier avec un amis ou votre famille, donnez leur ce lien:
lien_vers_l_image

3) Pour insérer l'image en code html dans une page web ou autre, copiez le lien suivant et collez le dans votre page web:
<a href="http://www.domaine.com" target="_blank"><img alt="Image Hosté par moi / Héberger vos fichiers et images gratuitement jusqu'a 50 Mo !" src="le_lien_vers_l_image" /></a>

Un peu à la manière d'imageshack
Est-ce que c'est possible ? si oui comment faire car en php je suis assez à la ramasse...
merci d'avance pour votre aide.
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 15h52   #2
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
Bon voilà pout faire simple je voudrais qu'un fois l'image uploadée il m'affiche le lien vers l'image :
http://www.domaine.com/uploads/mon_fichier_image.jpg

comment faire ?
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h12   #3
Membre habitué
 
Avatar de maxime.ohayon
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 113
Points : 100
Points : 100
Par défaut Upload image + lien

Je ne sais pas si j'ai tout bien compris mais enfin bon y'a une de tes variables qui contient l'emplacement de ton image :
Code :
TARGET.$_FILES['fichier']['name']
ensuite t'as juste à faire un lien vers ce chemin
Code :
1
2
3
<?php
echo '<a href="http://www.domaine.com/"'.TARGET.$_FILES['fichier']['name'].' target="_blank"><img alt="Image Hosté par moi / Héberger vos fichiers et images gratuitement jusqu\'a 50 Mo !" src="le_lien_vers_l_image" /></a>';
?>
et voilà, vendu
maxime.ohayon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 19h23   #4
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
merci pour ta réponse, ça marche bien mais voilà lorsque le fichier est uploadé, il me met un chmod de 600 sur le fichier image et le serveur ne peu pas le lire, si je le met en 644 alors ça va.
Mais comment faire pour qu'on est pas à changer le chmod ? qu'il m'upload le fichier avec un chmod de 644 ?

Merci
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 19h38   #5
Membre habitué
 
Avatar de maxime.ohayon
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 113
Points : 100
Points : 100
Désolé mais la je ne sais pas te répondre, je trouve sa bizarre que le chmod de ton fichier soit 600 automatiquement, regarde du coté du chmod du dossier parent sinon du coté de ton hébergeur, il pourront surement mieux te répondre
maxime.ohayon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 19h53   #6
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
merci pour tout
loopback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 21h55   #7
Membre régulier
 
Avatar de loopback
 
Inscription : septembre 2006
Messages : 170
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 170
Points : 75
Points : 75
j'ai trouvé pour le problème du chmod 600:
il faut remplacer la fonction move_uploaded_file par @copy et le tour est joué.
loopback 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 11h12.


 
 
 
 
Partenaires

Hébergement Web