Bestandsnaam check
Auteur: Koen - 01 februari 2009 - 12:16 - Gekeurd door: Gerard - Hits: 2576 - Aantal punten: 3.88 (4 stemmen)
Uitleg
Met deze functie kan je nakijken of een bestandsnaam al bestaat, als deze al bestaat dan wordt er "_#" achter de bestandsnaam geplaatst, waarbij # het volgnummer is.
Deze functie is zeer handig bij een upload systeem.
Voorbeeld
Bij een upload systeem of iets dergelijks:
// hierboven checken of er geüpload is ...
$sMapje = 'images/';
$sName = $_FILES['bestandje']['name'];
$sNewName = getFileName($sMapje, $sFile);
// hier dan move_uploaded_file($_FILES['bestandje']['tmp_name'], $sMapje . $sNewName);
// hierboven checken of er geüpload is ... $sMapje = 'images/'; $sName = $_FILES['bestandje']['name']; $sNewName = getFileName($sMapje, $sFile); // hier dan move_uploaded_file($_FILES['bestandje']['tmp_name'], $sMapje . $sNewName);
Veel plezier
|
Code: |
/**
* @name getFileName
* @desc This function checks if a file already exists, if so it adds _# at the back.
*
* @author Koen Van den Wijngaert <koen.van.den.wijngaert@sitemasters.be>
* @version 1.0
* @param string $sUploadDir The directory the file is located
* @param string $sName The filename
* @param bool[optional] $bReplace Determines whether the file should be overwritten or not. [Default: false]
*
* @return The name of the image after the check.
*/
function getFileName($sUploadDir, $sName, $bReplace = false) {
if($bReplace === true) {
return $sName;
}
if(!file_exists($sUploadDir . $sName)) {
return $sName;
}
$aFile = explode('.', $sName);
$sExt = array_pop($aFile);
$sFileName = implode('.', $aFile);
for($i = 1; $i <= 255; $i++) {
if(!file_exists($sUploadDir . $sFileName . '_'.$i.'.' . $sExt)) {
$sPath = $sFileName . '_'.$i.'.' . $sExt;
break;
}
}
return $sPath;
}
/** * @name getFileName * @desc This function checks if a file already exists, if so it adds _# at the back. * * @author Koen Van den Wijngaert <koen.van.den.wijngaert@sitemasters.be> * @version 1.0 * @param string $sUploadDir The directory the file is located * @param string $sName The filename * @param bool[optional] $bReplace Determines whether the file should be overwritten or not. [Default: false] * * @return The name of the image after the check. */ function getFileName($sUploadDir, $sName, $bReplace = false) { if($bReplace === true) { return $sName; } return $sName; } for($i = 1; $i <= 255; $i++) { if(!file_exists($sUploadDir . $sFileName . '_'.$i.'.' . $sExt)) { $sPath = $sFileName . '_'.$i.'.' . $sExt; break; } } return $sPath; }
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|