PDA

View Full Version : How to check if the file exists already?


student101
11-11-2008, 09:51 AM
How to check if the file exists already? then rename the uploaded file.
OR
Just rename the file to a REAL random number
Also where to place the check if exists part?

<?php
$idir = "images/"; // Path To Images Directory
$tdir = "images/thumbs/"; // Path To Thumbnails Directory
$twidth = "125"; // Maximum Width For Thumbnail Images
$theight = "100"; // Maximum Height For Thumbnail Images
if (!isset($_GET['subpage'])) { // Image Upload Form Below ?>
<form method="post" action="upload-size.php?subpage=upload" enctype="multipart/form-data">
File:<br />
<input type="file" name="imagefile" class="form">
<br /><br />
<input name="submit" type="submit" value="Sumbit" class="form"> <input type="reset" value="Clear" class="form">
</form>
<?php
} 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 'Image uploaded successfully.<br />'.$url.'<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 'Image thumbnail created successfully.'; // Resize successful
} else {
print 'ERROR: Unable to upload image.'; // Error Message If Upload Failed
}
} else {
print 'ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is not'; // Error Message If Filetype Is Wrong
print $file_ext; // Show The Invalid File's Extention
}
}
?>

Cheers

student101
11-11-2008, 11:18 AM
Cool, got this part;
Could anyone help me figure out where to add this in?

$filexists = $url;
if (file_exists($filexists)) {
echo "The file $filexists exists";
} else {
echo "The file $filexists does not exist";
}

student101
11-20-2008, 02:03 PM
Fixed! Upload, Resize and rename if exists!
Working on new Upload, Resize, rename if exists and insert into db if needed.

/* I really hate this random function, it's soooooooooooooo long - but it works for real random numbers.*/
function simpleRandNum($length=6){
$figures="0123456789";
mt_srand((double)microtime()*1000000);
$newNum="";
if($length>0){
while(strlen($newNum)<$length){
$newNum.=$figures[mt_rand(0, strlen($figures)-1)];
}
}
return $newNum;
}

$idir = "images/"; // Path To Images Directory
$tdir = "images/thumbs/"; // Path To Thumbnails Directory
$twidth = "125"; // Maximum Width For Thumbnail Images
$theight = "100"; // Maximum Height For Thumbnail Images
if (!isset($_GET['subpage'])) { // Image Upload Form Below ?>
<form method="post" action="upload-size.php?subpage=upload" enctype="multipart/form-data">
File:<br />
<input type="file" name="imagefile" class="form">
<br /><br />
<input name="submit" type="submit" value="Sumbit" class="form"> <input type="reset" value="Clear" class="form">
</form>
<?php
} else {
// Uploading/Resizing Script
if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {
$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
$filename = "$idir" . $_FILES['imagefile']['name'];
if (file_exists($filename)) {
echo "file exists";
$url = simpleRandNum(3).$_FILES['imagefile']['name'];
$filename = $url;

// Move Image From Temporary Location To Permanent Location
$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $filename);
if ($copy) { // If The Script Was Able To Copy The Image To It's Permanent Location
print 'Image uploaded successfully.<br />'.$url.'<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 'Image thumbnail created successfully.'; // Resize successful
} else {
print 'ERROR: Unable to upload image.'; // Error Message If Upload Failed
}
} else {
print 'ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is not';
// Error Message If Filetype Is Wrong
print $file_ext; // Show The Invalid File's Extention
}
} else {
echo "can't help lazy people, sorry";
}
}
}

davidj
11-20-2008, 09:12 PM
this has turned into your blog student

davidj
11-20-2008, 09:12 PM
additional...

contact me and ill introduce you to OOP

you will never look back

2bz2p
11-26-2008, 02:31 PM
additional...

contact me and ill introduce you to OOP

you will never look back


Never ever look back lol no reason to
2b

student101
11-26-2008, 02:47 PM
I have seen this OOP and must be honest I really am just too lazy to deal with it.
I don't know why? I think it's bigger than me.

Cheers

davidj
11-26-2008, 07:14 PM
give me 30 mins of your time

ill prove you can grasp it

student101
11-26-2008, 07:37 PM
Ok it may be what I need, just busy with a small project that has to be done by Friday / Saturday... no rush it's taken almost a year already.