login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Bestandsnaam check

Bestandsnaam check

Auteur: Koen - 01 februari 2009 - 12:16 - Gekeurd door: Gerard - Hits: 2399 - 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:

  1. // hierboven checken of er geŁpload is ...
  2. $sMapje = 'images/';
  3. $sName = $_FILES['bestandje']['name'];
  4. $sNewName = getFileName($sMapje, $sFile);
  5. // hier dan move_uploaded_file($_FILES['bestandje']['tmp_name'], $sMapje . $sNewName);


Veel plezier 

Code:
  1. /**
  2. * @name getFileName
  3. * @desc This function checks if a file already exists, if so it adds _# at the back.
  4. *
  5. * @author Koen Van den Wijngaert <koen.van.den.wijngaert@sitemasters.be>
  6. * @version 1.0
  7. * @param string $sUploadDir The directory the file is located
  8. * @param string $sName The filename
  9. * @param bool[optional] $bReplace Determines whether the file should be overwritten or not. [Default: false]
  10. *
  11. * @return The name of the image after the check.
  12. */
  13. function getFileName($sUploadDir, $sName, $bReplace = false) {
  14. if($bReplace === true) {
  15. return $sName;
  16. }
  17. if(!file_exists($sUploadDir . $sName)) {
  18. return $sName;
  19. }
  20. $aFile = explode('.', $sName);
  21. $sExt = array_pop($aFile);
  22. $sFileName = implode('.', $aFile);
  23. for($i = 1; $i <= 255; $i++) {
  24. if(!file_exists($sUploadDir . $sFileName . '_'.$i.'.' . $sExt)) {
  25. $sPath = $sFileName . '_'.$i.'.' . $sExt;
  26. break;
  27. }
  28. }
  29. return $sPath;
  30. }

Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2023 Sitemasters.be - Regels - Laadtijd: 0.026s