Флаг для просто создать пустой файл, если не существует? - PullRequest
2 голосов
/ 20 января 2012

Какой флаг я должен использовать для создания файла, если он не существует? Пожалуйста, не закрывайте точку сразу после fopen(), потому что переносится «трудная часть» (декодирование зашифрованного содержимого) функцией load() (логика декодирования не показана):

Class MyClass
{
   protected $filename, $data;

   public function __construct($filename)
   {
       $this->filename = $filename;

       // Create if not exists
       if(!file_exists($this->filename))
       {
          $fp = fopen($this->filename, '');
          fclose($fp);
       }

       $this->load();
   }

   public function load()
   {
      $data = file_get_contents($this->filename);
      $this->data = $data === false ? array() : $data;
   }
}

Ответы [ 2 ]

1 голос
/ 20 января 2012

wb - это все, что вам нужно. Откройте файл для записи, обрежьте любой файл, который уже существует, установите указатель файла на начало этого нового файла и включите двоичный режим (который не позволяет PHP переводить символы конца строки на некоторых платформах, таких как Windows).

0 голосов
/ 20 января 2012

'a+', здесь руководство. Убедитесь, что разрешения для каталога в порядке.

...