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
|
* 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) {
|
static function getAbsFile($file) {
|
||||||
if($file[0] == '/') return $file;
|
if($file[0] == '/') return $file;
|
||||||
return Director::baseFolder() . '/' . $file;
|
return Director::baseFolder() . '/' . $file;
|
||||||
@ -423,6 +429,8 @@ class Director {
|
|||||||
* @param $file Filename specified relative to the site root
|
* @param $file Filename specified relative to the site root
|
||||||
*/
|
*/
|
||||||
static function fileExists($file) {
|
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));
|
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