ugrás a tartalomhoz

file feltoltesnel, nem alfabetikus karakterek torlese

eaposztrof · 2008. Feb. 25. (H), 05.45
ezt muveltem, ha valaki tud mas megoldast is, szivesen veszem
  1. <?php  
  2.     function clear_name($image_name){  
  3.         $repstring="-"// azert "-", mert a bot-ok szunetkent kezelik, tehat keresobarat megoldas  
  4.         $image_drive=array_shift(explode("\\",$image_name));    // kiszurom a meghajto jelet  
  5.         $image_without_drive=preg_replace("/$image_drive/","",$image_name); // kep neve meghajto nelkul  
  6.         $image_without_drive_and_illegal_chars=preg_replace("/[^A-Za-z0-9.]/"$repstring$image_without_drive);   //  kep neve illegalis karakterek nelkul, a "." meghagyva a kiterjesztesek vegett  
  7.         $image_without_drive_and_illegal_chars_and_single_repstring=preg_replace("/$repstring.$repstring/","",$image_without_drive_and_illegal_chars);  // a tobbszori "-"-ek torlese  
  8.         return rand(0,1000).$image_without_drive_and_illegal_chars_and_single_repstring;    // fajlnev egyedive tetele random szamokkal  
  9.     }  
  10. //  print(clear_name($_FILES['image_field']['name'])); // ez a form "image_field" inputjabol alakit  
  11.     print(clear_name('D:\clo˛#&@&@{#&@@{verfi#&@@@#&#@#&##kukac###eld-hmed-12p.hlarge#&##kukac##asd.jpg')); // pelda  
  12. ?>  
 
1

egy pcit egyszerűbben, talán...

pp · 2008. Feb. 25. (H), 08.50
  1. <?php  
  2. $image_without_drive_and_illegal_chars=preg_replace("/[^A-Za-z0-9.]/"$repstring$image_without_drive);   //  kep neve illegalis karakterek nelkul, a "." meghagyva a kiterjesztesek vegett   
  3.          $image_without_drive_and_illegal_chars_and_single_repstring=preg_replace("/$repstring.$repstring/","",$image_without_drive_and_illegal_chars);  // a tobbszori "-"-ek torlese   
  4. ?>  
helyette:
  1. <?php  
  2.      $image_without_drive_and_illegal_chars=preg_replace("/[^A-Za-z0-9.]+/"$repstring$image_without_drive);     
  3. ?>  
(a meghajtó jel szűrését nem értem, a példára biztos nem jó...)
pp