Mailinglisten-Archive |
>>wenn im Dateinamen / oder \ vorkommt würde ich die nicht durch >>Leerzeichen ersetzen sondern davor bzw. dahinter abschneiden! > > Wieso denn das? na ich weiß ja nicht wieso du deinen datei-namen bereinigen willst, normalerweiße macht man sowas ja weil man keine kontrolle über die Herkunft hat, da also alles dirn vorkommen kann wenn nun jemand versucht z.b. eine datei als '../../../../../../etc/passwd' zu speichern würdest du folgendes erhalten: '............etcpasswd' wozu? wenn du abschneidest hättest du: 'passwd' > <? > // Clean up file name (only lowercase letters, numbers and underscores) > function cleanFileNames($string) > { > $string = html_entity_decode(rawurldecode($string)); > $string = strtr( strtr($string, > 'ŠŽšžŸ¥ÀÁÂÃÄÅÇÐÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñðòóôõöøùúûüµýÿ', > 'szszyyaaaaaacdeeeeiiiinoooooouuuuyaaaaaaceeeeiiiinooooooouuuuuyy'), > array('Þ' => 'th', 'þ' => 'th', 'Ð' => 'dh', 'ð' => 'dh', 'ß' => 'ss', > 'Œ' => 'oe', 'œ' => 'oe', 'Æ' => 'ae', 'æ' => 'ae', 'µ' => 'u')); > $string = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", > str_replace("%20", "_", strtolower($string)))); > return $string; > } > ?> wozu jetzt noch das str_replace("%20", "_", ...) ?? %20 wird doch schon durch rawurldecode ersetzt()! -- Sebastian Mendel www.sebastianmendel.de www.tekkno4u.de www.nofetish.com
php::bar PHP Wiki - Listenarchive