Re: [請益] filectime()想要取得檔案修改時間失敗
可能因為 web server 執行的process uid
跟你執行shell script的process uid不同
可以透過 ls -l /mnt/data/testlogs/Testlog/454112
確認一下web server的uid對這個檔案是否可讀
※ 引述《wzbird (大鳥)》之銘言:
: hi 大家
: 我想要取得某一個資料夾中, 最舊的資料夾的時間, 我這樣寫
: #=============================================================
: $OLDEST_DIR=`ls /mnt/data/testlogs/Testlog/ -tr | head -n1`;
: #取得最舊的資料夾, 這段是shell script
: $P="/mnt/data/testlogs/Testlog/".$OLDEST_DIR;
: $d=filectime($P);
: echo date("Ymd",$d);
: #=============================================================
: 結果輸出是
: PHP Warning: filectime(): stat failed for /mnt/data/testlogs/Testlog/454112
: in /var/www/html/sh.php on line 9
: 19700101
: 結果不對還有一個Warning
: 可是我如果不用$OLDEST_DIR
: #=============================================================
: $P="/mnt/data/testlogs/Testlog/454112";
: $d=filectime($P);
: echo date("Ymd",$d);
: #=============================================================
: 直接指定一個路徑給他, 這樣結果就正常
: 可是我的那段shell script跑出來的$OLDEST_DIR也是454112阿
: 為什麼帶成變數就有問題呢?
: 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.7.90
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
151
156