2013-11-01 143 views
-3

上存在當我打開我的Linux終端輸入以下命令:PHP如何檢查文件遠程服務器或不

rsync server_name.xxx.com:/directory_name 

它完美的作品,該文件的信息顯示在屏幕上。 然而,當我把命令的PHP文件是這樣的:

$variable='rsync server_name.xxx.com:/directory_name'; 
$output=shell_exec($variable); 
echo $output; 

什麼也不顯示在瀏覽器上。相信我,我已經做了幾個小時的谷歌搜索,並沒有發現任何線索。如何在不登錄該服務器的情況下知道文件是否位於其他遠程服務器上(可讀)?

有什麼建議嗎?非常感謝!

+0

可能重複[如何檢查是否存在使用PHP的遠程文件?](http://stackoverflow.com/questions/981954/how-can-one-check-to-see- if-a-remote-file-exists-using-php) –

+0

PHP可能會以不同於您登錄終端的用戶的權限運行。 – neubert

回答

1

你想要file_exists函數。文檔:http://php.net/manual/en/function.file-exists.php

+0

這是否適用於遠程服務器,或只是本地文件? – andrewsi

+0

@andrewsi,我知道的本地文件。 –

+1

遠程服務器,如果你正在做它的網址風格,即file_exists('http://192.168.0.1/filename.txt')將工作。否則你可以用ssh/sftp來檢查它$ sftp = ssh2_sftp($ connection); $ fileExists = file_exists('ssh2.sftp://'。$ sftp。'/file.txt'); – skrilled

相關問題