2016-01-05 2 views
0

Я работаю над CMS, который будет установлен для многих клиентов, но, продолжая улучшать его, я вношу изменения в несколько файлов. Я хочу, чтобы эти обновления автоматически применялись ко всем проектам с использованием тех же файлов.Обновление локального php-файла из удаленного php-файла

Я думал о выполнении контрольного файла каждый раз, когда открывается CMS. Этот файл будет сравнивать версию локального файла с удаленным файлом, для этого я могу сохранить журнал или что-то для версий, неважно, но это не проблема, вот пример кода, который я думал:

$url = 'http://www.example.com/myfile.php'; 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_HEADER, false); 
$data = curl_exec($curl); 
curl_close($curl); 

Проблема заключается в получении содержимого myfile.php, поскольку его файл PHP сервер выполнит его и вернет результат, но я хочу фактическое содержимое файла. Я понимаю, что это невозможно, так как это проблема безопасности, кто-нибудь сможет получить php-код других сайтов, но есть ли способ получить содержимое удаленного php-файла, возможно, предоставив специальные разрешения удаленной связь?

Спасибо.

+2

Вы должны создать скрипт загрузки на сервере, который использует ReadFile() для чтения и вывода содержимого файлов. Вызовите эти скрипты с именем файла с вашего локального сервера, например http: //remote.tld/download? File = anyFileYouNeed.php – maxhb

+0

отличная идея !!! добавьте его в качестве ответа. – multimediaxp

ответ

2

Вы должны создать сценарий загрузки на удаленном сервере, который вернет исходный PHP-код, используя readfile().

<?php 
$file = $_SERVER['DOCUMENT_ROOT'] . $_GET['file']; 

// @TODO: Add security check if file is of type php and below document root. Use realpath() to check this. 
header("Content-Type: text/plain"); 
header("Content-Disposition: attachment; filename=\"$file\""); 
readfile($file); 
?> 

содержание Получить файл по fethcing http://example.com/download.php?file=fileName

Смежные вопросы