Если вы используете HTTP, вы не сможете проверить время создания.Если вы знаете, что это небольшой управляемый файл, вы можете использовать file_get_contents:
$fl = @file_get_contents( '<stream>' );
if( !$fl ) return false; // file does not exist remotely
$ret = @file_put_contents( '<output name>', $fl );// just output it
return $ret && true; //force it to boolean
Если он немного больше, вы можете использовать синтаксис cURL и stream, или вы можете сделать что-то похожее наЯ сделал выше:
$fl = @fopen( '<stream>' );
if( !$fl ) return false;// file does not exist remotely
$out = @fopen( '<local file>', 'w');
if( !$out ) return false;
while($data = fread($fl)){fwrite($out,$data);}
fclose($out);
return true;
Конечно, во всех ситуациях вам нужно будет загрузить файл в локальную версию, а затем выполнить некоторую форму контрольной суммы, чтобы увидеть, есть ли разница.
РЕДАКТИРОВАТЬ
Вы только что упомянули, что отметка времени является обязательным требованием, но у вас также есть SSH.Если у вас есть SSH, то вы можете использовать SFTP (что-то, что поддерживает SSH).Я использовал phpseclib для нескольких проектов и, хотя он и не идеален (он есть в PHP4 и он по-настоящему не туннелирует для SSH), тем не менее, это очень впечатляющая библиотека.Посмотрите на network часть руководства, и (если я помню) этого вам будет более чем достаточно, чтобы выполнить то, что вы просите.