2014-03-10 4 views
0

Я боролся часами и не могу найти хороший ответ.php curl получить дату изменения файла .php

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

Маленький сценарий того, что я использую ..

function modified($url){ 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_NOBODY, true); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_FILETIME, true); 
    $result = curl_exec($curl); 

    $timestamp = curl_getinfo($curl, CURLINFO_FILETIME); 
    if ($timestamp != -1): 
     echo date("Y-m-d H:i:s", $timestamp); 
    else: 
      echo 'No timestamp found'; 
     endif; 


} 
echo modified('http://myurl.com/'); 

Я делаю что-то неправильно или извлекаю файлы .php в этом случае вне возможности.

+1

Скорее всего, сервер установлен в * работать * PHP файлы. Итак, когда вы его запросите, вы вернете * выход * файла PHP, а не сам файл. –

+1

вы используете http. как таковой, вы НЕ получаете доступ к информации о statystems файловой системы. В лучшем случае у вас есть последний модифицированный заголовок http, который МОЖЕТ быть таким же, как и в реальном времени скрипта скрипта .php. –

ответ

1

То, что вы пытаетесь сделать, невозможно.

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

filemtime.php

<?php 

// Get Requested File Name 
$filename = isset($_GET['filename']) ? $_GET['filename'] : ''; 

// Return Result 
if (file_exists($filename)) { 
    echo filemtime($filename); 
} else { 
    echo 0; 
} 

?> 

Тогда использование будет выглядеть следующим образом:

<?php 

// Load last time index.php was modified on the server 
$filemtime = intval(file_get_contents('http://yourdomain.com/filemtime.php?filename=index.php')); 

// Parse Result 
echo 'index.php was modified on '. date('d/m/Y H:i:s a', $filemtime); 

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