Upload, Resize, Rename
Poosje geleden dat ik op het forum heb gezeten, maar bij deze weer ;)
Ik heb van internet een script gedownload waarmee je afbeeldingen kan uploaden en dat hij ze automatisch aanpast qua grootte, fantastisch echt waar! Maar nu zoek ik eigenlijk een functie waarmee ik het geuploade bestand automatisch een andere naam geef.... En eigenlijk dat ie kijkt of 1.jpg, 2.jpg, 3.jpg enz enz al bestaat en dan automatisch een daarop volgend nummer geeft :S lijkt mij last en vraag me af OF het mogelijk en zoja misschien kunnen jullie me dan op weg helpen. Hieronder de code die ik nu gebruik:
Code (php)
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<form method="post" action="addphoto.php?subpage=upload" enctype="multipart/form-data">
Bestand:<br />
<input type="file" name="imagefile" class="form">
<br /><br />
<input name="submit" type="submit" value="Upload" class="form">
<input type="reset" value="Leeg formulier" class="form">
</form>
Bestand:<br />
<input type="file" name="imagefile" class="form">
<br /><br />
<input name="submit" type="submit" value="Upload" class="form">
<input type="reset" value="Leeg formulier" class="form">
</form>
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
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
<? } else if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') { // Uploading/Resizing Script
$url = $_FILES['imagefile']['name']; // Set $url To Equal The Filename For Later Use
if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
$file_ext = strrchr($_FILES['imagefile']['name'], '.'); // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']); // Move Image From Temporary Location To Permanent Location
if ($copy) { // If The Script Was Able To Copy The Image To It's Permanent Location
print 'Afbeelding succesvol geupload!.<br />'; // Was Able To Successfully Upload Image
$simg = imagecreatefromjpeg("$idir" . $url); // Make A New Temporary Image To Create The Thumbanil From
$currwidth = imagesx($simg); // Current Image Width
$currheight = imagesy($simg); // Current Image Height
if ($currheight > $currwidth) { // If Height Is Greater Than Width
$zoom = $twidth / $currheight; // Length Ratio For Width
$newheight = $theight; // Height Is Equal To Max Height
$newwidth = $currwidth * $zoom; // Creates The New Width
} else { // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
$zoom = $twidth / $currwidth; // Length Ratio For Height
$newwidth = $twidth; // Width Is Equal To Max Width
$newheight = $currheight * $zoom; // Creates The New Height
}
$dimg = imagecreate($newwidth, $newheight); // Make New Image For Thumbnail
imagetruecolortopalette($simg, false, 256); // Create New Color Pallete
$palsize = ImageColorsTotal($simg);
for ($i = 0; $i < $palsize; $i++) { // Counting Colors In The Image
$colors = ImageColorsForIndex($simg, $i); // Number Of Colors Used
ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']); // Tell The Server What Colors This Image Will Use
}
imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight); // Copy Resized Image To The New Image (So We Can Save It)
imagejpeg($dimg, "$tdir" . $url); // Saving The Image
imagedestroy($simg); // Destroying The Temporary Image
imagedestroy($dimg); // Destroying The Other Temporary Image
print 'Thumbnail succesvol aangemaakt!'; // Resize successful
} else {
print '<font color="#FF0000">ERROR: Uploaden foto mislukt!.</font>'; // Error Message If Upload Failed
}
} else {
print '<font color="#FF0000">ERROR: Verkeerd bestandstype (Kies een *.jpg of *jpeg bestand. Jouw bestand is een'; // Error Message If Filetype Is Wrong
print $file_ext; // Show The Invalid File's Extention
print '.</font>';
}
} ?>
$url = $_FILES['imagefile']['name']; // Set $url To Equal The Filename For Later Use
if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
$file_ext = strrchr($_FILES['imagefile']['name'], '.'); // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']); // Move Image From Temporary Location To Permanent Location
if ($copy) { // If The Script Was Able To Copy The Image To It's Permanent Location
print 'Afbeelding succesvol geupload!.<br />'; // Was Able To Successfully Upload Image
$simg = imagecreatefromjpeg("$idir" . $url); // Make A New Temporary Image To Create The Thumbanil From
$currwidth = imagesx($simg); // Current Image Width
$currheight = imagesy($simg); // Current Image Height
if ($currheight > $currwidth) { // If Height Is Greater Than Width
$zoom = $twidth / $currheight; // Length Ratio For Width
$newheight = $theight; // Height Is Equal To Max Height
$newwidth = $currwidth * $zoom; // Creates The New Width
} else { // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
$zoom = $twidth / $currwidth; // Length Ratio For Height
$newwidth = $twidth; // Width Is Equal To Max Width
$newheight = $currheight * $zoom; // Creates The New Height
}
$dimg = imagecreate($newwidth, $newheight); // Make New Image For Thumbnail
imagetruecolortopalette($simg, false, 256); // Create New Color Pallete
$palsize = ImageColorsTotal($simg);
for ($i = 0; $i < $palsize; $i++) { // Counting Colors In The Image
$colors = ImageColorsForIndex($simg, $i); // Number Of Colors Used
ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']); // Tell The Server What Colors This Image Will Use
}
imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight); // Copy Resized Image To The New Image (So We Can Save It)
imagejpeg($dimg, "$tdir" . $url); // Saving The Image
imagedestroy($simg); // Destroying The Temporary Image
imagedestroy($dimg); // Destroying The Other Temporary Image
print 'Thumbnail succesvol aangemaakt!'; // Resize successful
} else {
print '<font color="#FF0000">ERROR: Uploaden foto mislukt!.</font>'; // Error Message If Upload Failed
}
} else {
print '<font color="#FF0000">ERROR: Verkeerd bestandstype (Kies een *.jpg of *jpeg bestand. Jouw bestand is een'; // Error Message If Filetype Is Wrong
print $file_ext; // Show The Invalid File's Extention
print '.</font>';
}
} ?>
//EDIT: ok ik krijg er geen geheel van :P
Gewijzigd op 01/01/1970 01:00:00 door Mark
Ik zou gewoon de naam van het bestand opslaan in een database, met de datumtijd waarop het geupload werd. Dan kun je er alle kanten mee op.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$ext = findexts ($_FILES['avatar']['name']) ;
$ran = rand () ;
$ran2 = md5($ran) . ".";
$target = "images/" . $ran2 . $ext;
move_uploaded_file($_FILES['bestandsnaam']['tmp_name'], $target);
?>
$ext = findexts ($_FILES['avatar']['name']) ;
$ran = rand () ;
$ran2 = md5($ran) . ".";
$target = "images/" . $ran2 . $ext;
move_uploaded_file($_FILES['bestandsnaam']['tmp_name'], $target);
?>
Gewijzigd op 01/01/1970 01:00:00 door Wouter De Schuyter