Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
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 18/04/2006, 13h51   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Territoire de Belfort (Franche Comté)

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à mickdu90
Par défaut [Image]Stockage et récuperation d'images dans mysql

J'avance petit à petit dans le php, et je suis entrain de concevoir mon propre blog.

J'ai donc créé une interface d'administration pour créer, éditer et supprimer des articles. Et je veux pouvoir uploader des images depuis un formulaire de ce type.



Seulement d'après ce que j'ai déjà compri, c'est pas vraiment une bonne idée de stocker directement des images dans une base plutôt que les chemins.

Donc comment est-il possible d'envoyer des images depuis un formulaire si c'est pas pour les stocker sur la base ?
mickdu90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 14h08   #2
Nouveau Membre du Club
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 111
Points : 30
Points : 30
hello,
Tout d'abord il existe des blogs tout fait que tu peux apres customiser.
en effet c'est pas genial de stocker des images dans ta base de données.
Tu stockes dans ta base le chemin où tu as mis ton fichier. Puis qd tu affiches tes images tu recuperes le chemin et tu affiches ton images.
tit_oune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 14h09   #3
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
l'idée est toute simple. Au lieu de stoquer ton image dans ta base de données, tu va la stoquer dans un répertoire sur ton serveur. La seule chose que tu stoquera dans ta base sera l'adresse de l'image, et pour l'afficher, tu n'aura qu'a créer un bête HTML

Code :
1
2
 
echo '<Img src="'.$chemin_image.'">';
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 14h29   #4
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Territoire de Belfort (Franche Comté)

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à mickdu90
Citation:
Tout d'abord il existe des blogs tout fait que tu peux apres customiser.
Ca, ca n'a ancun intérêt pour moi

Citation:
l'idée est toute simple. Au lieu de stoquer ton image dans ta base de données, tu va la stoquer dans un répertoire sur ton serveur. La seule chose que tu stoquera dans ta base sera l'adresse de l'image, et pour l'afficher, tu n'aura qu'a créer un bête HTML
oui mais je ne peux plus passer par un formulaire dans ce cas ! Il faudrait que j'envoie un chemin ou une image portant le même nom que l'articles...
mickdu90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 14h58   #5
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
et bien, si, tu aura toujours besoin d'un formulaire...

Au lieu de stoquer ton image dans ta DB, tu la stoque sur ton serveur. Même principe, il faut bien la fransférer depuis la post client vers chez toi ...
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 15h12   #6
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Territoire de Belfort (Franche Comté)

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à mickdu90
Me connecter au FTP avec un code de ce type ?

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
 
<?php
// création de la connexion
$conn_id = ftp_connect("$ftp_server");
// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo "La connexion FTP a échoué!";
        echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
        die;
    } else {
        echo "Connecté à $ftp_server, avec $ftp_user_name";
    }
// téléchargement d'un fichier
$upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
// Vérification de téléchargement
if (!$upload) {
        echo "Le téléchargement Ftp a échoué!";
    } else {
        echo "Téléchargement de $source_file sur $ftp_server en $destination_file";
    }
// fermeture de la connexion FTP.
ftp_quit($conn_id);
?>
Mais alors est-il possible de donner un nom précis à l'image envoyée sur le FTP sans la renommer manuellement, afin de pouvoir l'appeler avec un texte bien précis de la base de données ?
mickdu90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 10h52   #7
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 86
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Territoire de Belfort (Franche Comté)

Informations forums :
Inscription : avril 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à mickdu90
Pour info, j'ai trouvé plus simple :

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
 
 
<?php
 
include ("requete.php");
 
if (
  move_uploaded_file(
    $_FILES['image']['tmp_name'], 
    'upload/'.$_FILES['image']['name']
  )
) {
  echo 'ça a marché';
} else {
  echo 'problème';
}
 
 
 
 
$name = $_FILES['image']['name'];
$type = $_FILES['image']['type'];
$extension=strrchr($name,'.');
$extension=substr($extension,1);
 
rename("upload/$name", "images/$extension/$titre.$extension");
 
 
$chemin_image = 'http://mickdu90.free.fr/images/'.$extension.'/'.$titre.'.'.$extension.'';
 
include ("config.php");
$connection = mysql_connect($host, $user, $pass);
$db         = mysql_select_db($database, $connection);
 
 
 
 
    $result=mysql_query("INSERT INTO images (img_chemin, titre) VALUES ('$chemin_image','$titre')");
    $id= mysql_insert_id();
    print "<br>Indentifiant du fichier dans la base: $id<br>";
    mysql_close();
 
 
?>
 
<img src="http://mickdu90.free.fr/images/"$extension"/'.$titre.'.'.$extension.'" width=200 height=150>
 
 
 
<form action = "admin.php" value = " -- Retour --">
</form>
 
<?php
include ("confirmation.php");
?>
Et voilà comment envoyer des fichiers dans un FTP en les renommant avec la fonctoin rename(). Mon FTP est trié selon les extensoins des fichiers donc le fichier est envoyé dans le répertoire correspondant à l'extension. Ce script peut être amélioré en ajoutant la possibilité de créer automatiquement un répertoire s'il n'existe pas encore sur le serveur...

Je vois pas le bouton résolu
mickdu90 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 19h42.


 
 
 
 
Partenaires

Hébergement Web