2015-04-23 6 views
-2

Как говорится в названии, я ищу лучший способ проверить, существует ли файл перед выполнением функции file_put_contents. Лучше добавить число после имени файла? или Лучше сгенерировать имя файла с датой/временем после имени? В моем случае, что бы вы сделали?Лучший способ проверить, существует ли файл перед выполнением функции file_put_contents

Вот мой рабочий код,

if(isset($_POST['genfile'])){ 

    $scriptfile = $_POST['genfile']; 

    $script = preg_split('/(\r?\n)+/', $_POST['genfile']); 
    $copy=$script; 



     file_put_contents('generated_scripts/script.sh', $scriptfile); 

     foreach ($script as $script_launcher){ 

      echo $script_launcher; 

      if (next($copy)) { 
       echo "\r\n"; 
      }         

    } 

}

+2

file_exists и is_file Есть много простых PHP функций библиотеки –

+1

возможно дубликат [проверки PHP, если файл существует] (HTTP: // StackOverflow .com/вопросы/1828500/PHP проверить, если-файлов существует) – namezero

ответ

0

Чтобы проверить, существует ли файл, который вы можете использовать встроенный вверх функцию file_exists в PHP.

Пример:

if (file_exists($file)) { 
    //file exists      
} 

В качестве альтернативы вы можете использовать get_headers функцию.

Пример:

$headers = @get_headers($filename); 
$exists = ($headers[0] == 'HTTP/1.1 404 Not Found'); //file does not exist 
0

Добавить чек -

if (file_exists($_SERVER['DOCUMENT_ROOT'].'/path/to/file')) { 
    file_put_contents(..); 
} 
Смежные вопросы