function testSanitizeFileName() { $this->assertEqual('filename', util_sanitizeFileName('filename')); $this->assertEqual('filename_', util_sanitizeFileName('filename;')); $this->assertEqual('file_name', util_sanitizeFileName('file name')); $this->assertEqual('_filename', util_sanitizeFileName('../filename')); $this->assertEqual('filename', util_sanitizeFileName('....filename')); $this->assertEqual('.filename', util_sanitizeFileName('.....filename')); }
function util_sanitizeFileReference($fr) { while (preg_match('/\\.\\.\\//', $fr)) { $fr = preg_replace('/\\.\\.\\//', '', $fr); } $fr_parts = explode('/', $fr); $cleaned_fr = ''; $part_counter = 0; foreach ($fr_parts as $frp) { if ($part_counter > 0) { $cleaned_fr .= '/'; } $cleaned_fr .= util_sanitizeFileName($frp); $part_counter++; } return $cleaned_fr; }