bonjour à tous,
Une bonne journée que celle du dimanche n'est-ce pas ?
Bon voilà j'ai fini un script de redimensionnement des images, ce script fonctionne pour réduire les images de tous le dossier qu'il trouve et en conserve des vignettes dans un dossier créer dans le dossier d'origine voilà le script en question
.
j'ai d'autre part une requête sql qui fonctionne mais je voudrais pouvoir ajouter à cette requête l'ensemble des images contenu dans un dossier dans le champs images ou url peut importe
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
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 <?php $racine = "images"; $dossier_reduit = "petite_images"; $max = 250; lit_dossier($racine); function lit_dossier($dir) { global $dossier_reduit; if (!is_dir($dir)) { echo "$dir n'est pas un dossier"; return; } //Ouvre le dossierPrincipale et renvoi un tableau $liste = scandir($dir); foreach ($liste as $d) { if ($d!="." && $d!=".." && $d!=$dossier_reduit && is_dir($dir."/".$d)) { echo "$dir/$d est un dossier<br/>\n"; echo"$dir/$d<br>\n"; // pour recuperer le n° de dossier images lit_dossier($dir."/".$d); } else { //echo "$dir/$d est un fichier ou . ou ..<br/>\n"; } } traiter_dossier($dir); } function traiter_dossier($gf) { global $dossier_reduit, $max; $gf .= "/"; $pf = $gf.$dossier_reduit."/"; // tester si le dossier de destination existe, sinon le créer if (!is_dir($pf)) { mkdir($pf); } // lister les images du dossier grand_format $liste = glob($gf."*{jpg,gif,png,jpeg}",GLOB_BRACE); // => "${gf}*jpg" -> "images/*jpg" // $liste = array('images/un.jpg','images/deux.jpg','images/trois.jpg','images/quatre.jpg'); $imgs = array(); // pour chaque image du dossier grand_format foreach ($liste as $imageG) { $fichier = basename($imageG); // "images/un.jpg" => "un.jpg" echo "- ${pf}${fichier}<br/>\n"; // si pas jpg alors renommer en jpg sinon ne rien ajouter if (!is_file("${pf}${fichier}")) { // "imagesDesti/un.jpg" // créer une copie de l'image dans le dossier petit_format reduire($fichier,$gf,$pf,$max); echo "j'ai du réduire<br/>\n"; } } } function reduire($fichier, $d_src, $d_dest, $max) { // Crée une nouvelle image à partir d'un fichier src $ext = trouver_extension($fichier); switch($ext) { case "jpg": case "jpeg": $f = "imagecreatefromjpeg"; $fe = "imagejpeg"; break; case "gif": $f = "imagecreatefromgif"; $fe = "imagegif"; break; case "png": $f = "imagecreatefrompng"; $fe = "imagepng"; break; default: return; } $grande_image = $f("${d_src}${fichier}"); // prend les mesures de l'image src $ls = imagesx($grande_image); $hs = imagesy($grande_image); // On établi une regle de traitement --- si largeur src>hauteur de la source alors if ($ls > $hs) { $ld = $max; $hd = $hs / $ls * $max; } else { $hd = $max; $ld = $ls / $hs * $max; } /*Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.en gardant les vrai couleur*/ $petite_image = imagecreatetruecolor($ld,$hd); imagecopyresampled($petite_image, $grande_image, 0, 0, 0, 0, $ld, $hd, $ls, $hs); /* Enregistre l'image_gd $petite_image dans le fichier "$d_dest$fichier" */ $fe($petite_image, $d_dest.$fichier); } function trouver_extension($fichier){ $ext = explode(".",$fichier); // Pour vérifier push, pop sert a enlever le dernier element du tableau (voir shift et unshift) $extension = array_pop($ext); return $extension; } ?>
je vous mettre le bout de code pour la requête;
voilà donc je veux garder en mémoire le n° du dossier et l'ensemble de ces photos pour l'associer à un article dans la base de données,
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 <?php mysql_connect("localhost","root",""); // declaration de la connexion mysql_select_db("interieu"); $ligne = 0; $handle = fopen("test.csv", "rw"); while (($data = fgetcsv($handle, 0, chr(9),'|')) !== FALSE) { $ligne++; $num = count($data); //$img = '<img src="images/1-2.jpg" />'; for ($c=0; $c < $num; $c++) { //echo 'Col ['.$ligne.', '.$c.'] = '.$data[$c].'<br />'; echo $data[$c].'<br />'; //$var2 = $data[2]; $var1 = substr($data[2], 0, 20); } $query = "INSERT INTO jos_content (`id`,`title`,`alias`,`title_alias`,`introtext`,`fulltext`,`state`,`sectionid`,`mask`,`catid`,`created`,`created_by`,`created_by_alias`,`modified`,`modified_by`,`checked_out`,`checked_out_time`,`publish_up`,`publish_down`) VALUES ('". $data[0] ."','".$data[1]."','".$data[1]."','".$img."','".$var1."','".$data[2]."',1,5,0,0,now(),62,'".idem."',now(),62,76392,now(),now(),'2010-10-10 00:00:00')"; mysql_query($query); ($query); echo $query.'<br />'; //je n'arrive plus qu'a rentrer le numéros 3 dnas le fichier test.csv, je ne sais pas pourquoi on //va chercher }
voilà le problème et j'ai pas envie de me taper tous le chemin à la main.
Partager