Bonjour je suis débutant en php et pour commencer je me suis attaquer -(avec un bouquin) - à la création d'une galerie dynamique basé sur la fameuses LightBox de jQuery avec une interface d'administration pour faciliter la gestion du contenu de ma galerie (effacer, ajouter, descriptions..) ,cette galerie nécessite une base de donnée mySql et donc une installation préalable !!! jusqu'à la j'espère que vous me comprenez (c'est pas trop complexe), en surfant sur les différents site proposant des LightBox perso je suis par hasard tombé sur un script ou plutôt sur une fonction permettant de créer automatiquement un thumbnails à partir de l'image que j'importe de mon PC dans ma galerie, et bonne nouvelle ce script fonctionne nickel chrome, mais , ehh oui car il y a évidemment un mais , sinon je ne serais pas là !!!

je souhaiterais transformer quelque peu cette fonction pour me permettre de pouvoir choisir moi-même le thumbnails associé à l'image que j'importe. Mais étant débutant je ne sais pas par ou commencer, dans l'interface d'administration j'ai donc déjà créer un "form" de type "file" associé à une id permettant de reconnaitre qu'il s'agit du thumbnail et non de l'image (en taille réelle) !!! J'espère avoir été aussi clair que possible.


Donc si une âme charitable passe sur le fofo , pouvez vous me venir en aide ?


Ahh j'oubliais j'ai aussi un autre petit problème, la lightBox que j'utilise pour cette galerie me permet uniquement de gérer les fichiers image .gif, .jpg, et .png et je voudrais aussi pouvoir mettre des fichiers .mov, wmv, .mp3... etc et j'ai donc été fouiner sur le sourceforge de jQuery afin de trouver la solution à ce problème et j'ai trouver un petit plug à rajouter à l'aide d'un simple petit javascript pour pouvoir gérer ce type de fichiers dans ma galerie, mais je souhaiterais intégrer à ma fonction ce type de fichiers (d'extensions de fichiers plutôt) !!!


Pouvez vous m'aider s'il vous plait ?


Je vous joint le code complet de ma fonction
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
 
<?php
require_once '../config.inc.php';
 
$action = isset($_GET['view']) ? $_GET['view'] : '';
 
switch ($action) {
 
	case 'add' :
		add_image();
		break;
	case 'delete' :
		delete_image();
		break;
	default :
	    // if action is not defined or unknown
		header('Location: index.php?view=main');
}
function add_image(){
$name = $_POST['name'];
$alt = $_POST['alt'];
$images = uploadImage('image', '../images/gallery/');
$mainImage = $images['image'];
$thumbnail = $images['thumbnail'];
$sql = script_db_query("INSERT INTO gallery (pict_name, pict_alt, pict_path, pict_thumb) values ('$name','$alt','$mainImage','$thumbnail')");
if($sql){
header('Location: index.php');
} else {
echo 'Error: could not make the querry';
}
}
function delete_image(){
$id = $_GET['id'];
 
	// get the image name and thumbnail
	$sql = "SELECT pict_path, pict_thumb 
	        FROM gallery
			WHERE pict_id = $id";
 
	$result = script_db_query($sql);
	$row    = script_db_fetch_array($result);
 
	// remove the image and thumbnail
	if ($row['pict_path']) {
		unlink(SRV_ROOT . 'images/gallery/' . $row['pict_path']);
		unlink(SRV_ROOT . 'images/gallery/' . $row['pict_thumb']);
	}
 
	// remove the image from database;
	$sql = "DELETE FROM gallery 
	        WHERE pict_id = $id";
	script_db_query($sql);
 
	header('Location: index.php');
}
/*
	Create a thumbnail of $srcFile and save it to $destFile.
	The thumbnail will be $width pixels.
*/
function createThumbnail($srcFile, $destFile, $width, $quality = 75)
{
	$thumbnail = '';
 
	if (file_exists($srcFile)  && isset($destFile))
	{
		$size        = getimagesize($srcFile);
		$w           = number_format($width, 0, ',', '');
		$h           = number_format(($size[1] / $size[0]) * $width, 0, ',', '');
 
		$thumbnail =  copyImage($srcFile, $destFile, $w, $h, $quality);
	}
 
	// return the thumbnail file name on sucess or blank on fail
	return basename($thumbnail);
}
 
/*
	Copy an image to a destination file. The destination
	image size will be $w X $h pixels
*/
function copyImage($srcFile, $destFile, $w, $h, $quality = 75)
{
    $tmpSrc     = pathinfo(strtolower($srcFile));
    $tmpDest    = pathinfo(strtolower($destFile));
    $size       = getimagesize($srcFile);
 
    if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
    {
       $destFile  = substr_replace($destFile, 'jpg', -3);
       $dest      = imagecreatetruecolor($w, $h);
       imageantialias($dest, TRUE);
    } elseif ($tmpDest['extension'] == "png") {
       $dest = imagecreatetruecolor($w, $h);
       imageantialias($dest, TRUE);
    } else {
      return false;
    }
 
    switch($size[2])
    {
       case 1:       //GIF
           $src = imagecreatefromgif($srcFile);
           break;
       case 2:       //JPEG
           $src = imagecreatefromjpeg($srcFile);
           break;
       case 3:       //PNG
           $src = imagecreatefrompng($srcFile);
           break;
       default:
           return false;
           break;
    }
 
    imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
 
    switch($size[2])
    {
       case 1:
       case 2:
           imagejpeg($dest,$destFile, $quality);
           break;
       case 3:
           imagepng($dest,$destFile);
    }
    return $destFile;
 
}
function uploadimage($inputName, $uploadDir)
{
	$image     = $_FILES[$inputName];
	$imagePath = '';
	$thumbnailPath = '';
 
	// if a file is given
	if (trim($image['tmp_name']) != '') {
		$ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']];
 
		// generate a random new file name to avoid name conflict
		$imagePath = md5(rand() * time()) . ".$ext";
 
		list($width, $height, $type, $attr) = getimagesize($image['tmp_name']); 
 
		// make sure the image width does not exceed the
		// maximum allowed width
		if (LIMIT_WIDTH && $width > MAX_IMAGE_WIDTH) {
			$result    = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_IMAGE_WIDTH);
			$imagePath = $result;
		} else {
			$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);
		}	
 
		if ($result) {
			// create thumbnail
			$thumbnailPath =  md5(rand() * time()) . ".$ext";
			$result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH);
			// create thumbnail failed, delete the image
			if (!$result) {
				unlink($uploadDir . $imagePath);
				$imagePath = $thumbnailPath = '';
			} else {
				$thumbnailPath = $result;
			}	
		} else {
			// the product cannot be upload / resized
			$imagePath = $thumbnailPath = '';
		}
 
	}
 
 
	return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
}
?>