Basically, before uploading i have pre_replace replace spaces with underscores. Then i have a function checking whether file exists in the upload directory. Problem:: --> when there are no spaces in filename and file already exists it does not get uploaded and displays err msg :'file exists'. When filename does contain spaces, and it already exists in the directory the function to check whether file exists fails resulting in duplicate record added and the file overwritten. Please help me to code the part that checks whether record & file already exists even if filename has spaces. I am a total noob, i would really appreciate anyone helping me out.
<?php
$uploadDir = 'resumes/';
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$username = $_SESSION['username'];
$filePath = $uploadDir . $fileName;
if (file_exists($filePath)) {
echo "<font color=\"red\">The file $filename exists. Please rename the file and upload</font>";
exit;
} else {
echo "The file $filename has been uploaded";
}
$result = move_uploaded_file($tmpName, $filePath);
if (!$result) {
echo "...";
exit;
}
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}
$fileName = $uploadDir . $fileName;
$file_Name2 = $uploadDir . $file_Name2;
$file_name2 = preg_replace('/\s/', '_', $fileName);
$trazz = rename ($fileName, $file_name2);
$fileName = preg_replace('/\s/', '_', $fileName);
$query = "INSERT INTO upload2 (name, size, type, path, username ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$filePath', '$username')";
mysql_query($query) or die('Error, query failed : ' . mysql_error());
echo "<br><font color=\"green\">*</font> Thank you. Your resume has been successfully uploaded.";
echo "<br><font color=\"green\">*</font> One of our Career Services representatives will contact you shortly<br>";
{}
?>