У меня есть функция, которая делает проверку, если папка доступна для записи. но когда я пытаюсь использовать переменную 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
потрогать () устанавливает время доступа и изменения файла.
Если файл не существует, он будет создан.
Может быть, вы можете использовать Файл существует как это:
$filename = $storageDir . DIRECTORY_SEPARATOR . $mountCheckFile;
if (!file_exists($filename))
return false;
return touch($filename);
Других решений пока нет …