bestandsnaam in database zetten
Heb een upload scriptje, maar wil de bestandsnaam van de afbeeldingen op de server in mijn database zetten. Veel over gelezen,maar kom er niet uit. Hoe doe je zoiets? Kan iemand mij daarmee helpen?
UPLOAD.PHP:
Code (php)
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
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
<?php
error_reporting(E_ALL);
$path = "pic_large/"; // folder waarin de plaatjes komen
$path_t = "pic_thumb/"; // folder waarin de thumbs komen
$max_w = 640; // maximale breedte plaatje
$max_wt = 120; // maximale breedte thumb
$name = "Picture_"; // naam van het plaatje (eerst bestand wordt pict0.jpg, pict1.jpg, etc...)
$kwaliteit = "85"; // kwaliteit waarmee de JPG bewaard wordt
$maxsize = (200*1024); //1024(1 kb) * 300 = 300 kb
/////////////
echo $path;
if($_SERVER['REQUEST_METHOD']=='POST'){
// if (isset($_FILES["image"]["name"]) && ($_FILES["image"]["name"]) !== "none"){
$file = $_FILES[$orgnaam]["name"]; // filename
$image = $_FILES[$orgnaam]["tmp_name"]; // tmp name
$type = $_FILES[$orgnaam]["type"]; // .ext
$size = $_FILES[$orgnaam]["size"]; //bestands grootte in bytes
if($size < $maxsize){
//afmetingen
$imageXY = getimagesize($image);
$img_w = $imageXY[0]; //width
$img_h = $imageXY[1]; //height
//resize plaatje
if($img_w > $max_w){
$factor = ($img_w / $max_w);
$newimg_w = $max_w;
$newimg_h = ($img_h / $factor);
}
//resize thumb
if($img_w > $max_wt){
$factor = ($img_w / $max_wt);
$newimg_wt = $max_wt;
$newimg_ht = ($img_h / $factor);
}
$newImg_w = (isset($newimg_w)) ? $newimg_w : $img_w;
$newImg_h = (isset($newimg_h)) ? $newimg_h : $img_h;
$newImg_wt = (isset($newimg_wt)) ? $newimg_wt : $img_w;
$newImg_ht = (isset($newimg_ht)) ? $newimg_ht : $img_h;
//
if($imageXY[2]==2 || $imageXY[2]==3 || $imageXY[2]==6){
//switch bestandstype
$newImg = imagecreatetruecolor($newImg_w, $newImg_h);
$newThumb = imagecreatetruecolor($newImg_wt, $newImg_ht);
switch($imageXY[2]){ //bestandstype
case 2: //jpg
$imgSrc = ImageCreateFromJPEG($image); //?
$imgSrcXY = getimagesize($image);
$imgSrc_w = $imgSrcXY[0];
$imgSrc_h = $imgSrcXY[1];
//filename ophogen
$i = 0;
while (file_exists($path.$name.$i.".jpg")) {
$i = $i + 1;
}
$name = $name.$i.".jpg";
//copy + verwijder tmp img
imagecopyresampled($newImg, $imgSrc, 0, 0, 0, 0, $newImg_w, $newImg_h, $imgSrc_w, $imgSrc_h);
imagecopyresampled($newThumb, $imgSrc, 0, 0, 0, 0, $newImg_wt, $newImg_ht, $imgSrc_w, $imgSrc_h);
imagejpeg($newImg, $path.$name);
imagejpeg($newThumb, $path_t.$name);
imagedestroy($newImg);
imagedestroy($newThumb);
break;
}//switch
}//ext check
else{
$errors[]= "ongeldig bestandstype!";
}
}//if maxsize
else{
$errors[] = "Bestand is te groot, maximaal ".($maxsize/1024);
}
// }//!= none
} //post
?>
error_reporting(E_ALL);
$path = "pic_large/"; // folder waarin de plaatjes komen
$path_t = "pic_thumb/"; // folder waarin de thumbs komen
$max_w = 640; // maximale breedte plaatje
$max_wt = 120; // maximale breedte thumb
$name = "Picture_"; // naam van het plaatje (eerst bestand wordt pict0.jpg, pict1.jpg, etc...)
$kwaliteit = "85"; // kwaliteit waarmee de JPG bewaard wordt
$maxsize = (200*1024); //1024(1 kb) * 300 = 300 kb
/////////////
echo $path;
if($_SERVER['REQUEST_METHOD']=='POST'){
// if (isset($_FILES["image"]["name"]) && ($_FILES["image"]["name"]) !== "none"){
$file = $_FILES[$orgnaam]["name"]; // filename
$image = $_FILES[$orgnaam]["tmp_name"]; // tmp name
$type = $_FILES[$orgnaam]["type"]; // .ext
$size = $_FILES[$orgnaam]["size"]; //bestands grootte in bytes
if($size < $maxsize){
//afmetingen
$imageXY = getimagesize($image);
$img_w = $imageXY[0]; //width
$img_h = $imageXY[1]; //height
//resize plaatje
if($img_w > $max_w){
$factor = ($img_w / $max_w);
$newimg_w = $max_w;
$newimg_h = ($img_h / $factor);
}
//resize thumb
if($img_w > $max_wt){
$factor = ($img_w / $max_wt);
$newimg_wt = $max_wt;
$newimg_ht = ($img_h / $factor);
}
$newImg_w = (isset($newimg_w)) ? $newimg_w : $img_w;
$newImg_h = (isset($newimg_h)) ? $newimg_h : $img_h;
$newImg_wt = (isset($newimg_wt)) ? $newimg_wt : $img_w;
$newImg_ht = (isset($newimg_ht)) ? $newimg_ht : $img_h;
//
if($imageXY[2]==2 || $imageXY[2]==3 || $imageXY[2]==6){
//switch bestandstype
$newImg = imagecreatetruecolor($newImg_w, $newImg_h);
$newThumb = imagecreatetruecolor($newImg_wt, $newImg_ht);
switch($imageXY[2]){ //bestandstype
case 2: //jpg
$imgSrc = ImageCreateFromJPEG($image); //?
$imgSrcXY = getimagesize($image);
$imgSrc_w = $imgSrcXY[0];
$imgSrc_h = $imgSrcXY[1];
//filename ophogen
$i = 0;
while (file_exists($path.$name.$i.".jpg")) {
$i = $i + 1;
}
$name = $name.$i.".jpg";
//copy + verwijder tmp img
imagecopyresampled($newImg, $imgSrc, 0, 0, 0, 0, $newImg_w, $newImg_h, $imgSrc_w, $imgSrc_h);
imagecopyresampled($newThumb, $imgSrc, 0, 0, 0, 0, $newImg_wt, $newImg_ht, $imgSrc_w, $imgSrc_h);
imagejpeg($newImg, $path.$name);
imagejpeg($newThumb, $path_t.$name);
imagedestroy($newImg);
imagedestroy($newThumb);
break;
}//switch
}//ext check
else{
$errors[]= "ongeldig bestandstype!";
}
}//if maxsize
else{
$errors[] = "Bestand is te groot, maximaal ".($maxsize/1024);
}
// }//!= none
} //post
?>
<script>
window.location.href = "form.php";
</script>
?>
in je copy bestand gedeelte, kan je gewoon een sqlquery hangen met de $name die erin gezet word.
thanx het werkt nu!