Как видно из заголовка, я ищу лучший способ проверить, существует ли файл, прежде чем выполнять функцию 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";
}
}
}
Чтобы проверить, существует ли файл, вы можете использовать встроенную функцию Файл существует в 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
PHP имеет функцию для этого:
Добавить чек —
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/path/to/file')) {
file_put_contents(..);
}