Linux — PhP Touch на несуществующий файл возвращает true

У меня есть функция, которая делает проверку, если папка доступна для записи. но когда я пытаюсь использовать переменную php touch в этом, как это

public function isFileServerMounted()
{
$config = $this->getServiceLocator()->get('config');

$storageDir = $config['xxx']['xxx']['xxx'];
$mountCheckFile = $config['xxx']['xxx']['xxxx'];

// we are using a simple file check as indication if we are mounted
return touch($storageDir . DIRECTORY_SEPARATOR . $mountCheckFile);
}

Функция всегда возвращает true, независимо от того, есть файл, который я проверяю, есть или нет. я проверил пути, и они правильные, и я могу получить доступ к файлу через nano over schiell.

Команда touch всегда возвращает значение true, если я удаляю или создаю файл проверки монтирования.

У кого-нибудь есть идеи, почему?

Я использую:

PHP 5.3.3-7 + squeeze19 с Suhosin-Patch (cli) (построено: 17 февраля 2014 г. 10:10:23)

Copyright (c) 1997-2009 PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

с Xdebug v2.2.5, Copyright (c) 2002-2014, Дериком Ретансом

с Suhosin v0.9.32.1, Copyright (c) 2007-2010, SektionEins GmbH

ОПЕРАЦИОННЫЕ СИСТЕМЫ:

Идентификатор распространителя: Debian

Описание: Debian GNU / Linux 6.0.3 (squeeze)

Релиз: 6.0.3

Кодовое название: squeeze

1

Решение

потрогать () устанавливает время доступа и изменения файла.
Если файл не существует, он будет создан.

Может быть, вы можете использовать Файл существует как это:

$filename = $storageDir . DIRECTORY_SEPARATOR . $mountCheckFile;

if (!file_exists($filename))
return false;

return touch($filename);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector