mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merged revisions 47488 via svnmerge from
svn://svn.silverstripe.com/silverstripe/modules/sapphire/branches/2.2.0-mesq ........ r47488 | ischommer | 2007-12-21 16:03:04 +1300 (Fri, 21 Dec 2007) | 1 line in fileExists(): replace any appended query-strings, e.g. /path/to/foo.php?bar=1 to /path/to/foo.php ........ git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@52186 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
15b388640d
commit
2f51144a85
@ -413,6 +413,12 @@ class Director {
|
||||
/**
|
||||
* Given a filesystem reference relative to the site root, return the full filesystem path
|
||||
*/
|
||||
/**
|
||||
* Cleans up a given file-path
|
||||
*
|
||||
* @param string $file
|
||||
* @return string
|
||||
*/
|
||||
static function getAbsFile($file) {
|
||||
if($file[0] == '/') return $file;
|
||||
return Director::baseFolder() . '/' . $file;
|
||||
@ -423,6 +429,8 @@ class Director {
|
||||
* @param $file Filename specified relative to the site root
|
||||
*/
|
||||
static function fileExists($file) {
|
||||
// replace any appended query-strings, e.g. /path/to/foo.php?bar=1 to /path/to/foo.php
|
||||
$file = preg_replace('/([^\?]*)?.*/','$1',$file);
|
||||
return file_exists(Director::getAbsFile($file));
|
||||
}
|
||||
|
||||
|
25
tests/control/DirectorTest.php
Normal file
25
tests/control/DirectorTest.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
class DirectorTest extends SapphireTest {
|
||||
|
||||
public function testFileExists() {
|
||||
$tempFileName = 'DirectorTest_testFileExists.tmp';
|
||||
$tempFilePath = TEMP_FOLDER . '/' . $tempFileName;
|
||||
|
||||
// create temp file
|
||||
file_put_contents($tempFilePath, '');
|
||||
|
||||
$this->assertTrue(
|
||||
Director::fileExists($tempFilePath),
|
||||
'File exist check with absolute path'
|
||||
);
|
||||
|
||||
$this->assertTrue(
|
||||
Director::fileExists($tempFilePath . '?queryparams=1&foo[bar]=bar'),
|
||||
'File exist check with query params ignored'
|
||||
);
|
||||
|
||||
unlink($tempFilePath);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user