2017-04-12 46 views
0

我想實現一個PHP script,其轉換.stravactivity文件GPX - 它使用的GitHub代碼,什麼是管理文件,並傳遞到變量$文件名PHP轉換腳本的執行

獲得最佳方式當我嘗試通過命令行打開此錯誤:

enter image description here

+1

你的問題不清楚:你指向的php腳本實際上是通過命令行接受一個文件名(這是一個cli腳本,如果你沒有注意的話) – fvu

+0

@fvu這就是我想要做的 - 你能請指出我正確的方向通過命令行傳遞文件名? –

+0

只是把它稱爲'/ path/to/convert_stravactivity_to_gpx/path/to/the/file.stravactivity'應該可以做到這一點 – fvu

回答

1

的問題是由這部分代碼引起的:

$pwd = $_SERVER['PWD']; 
$filePath = realpath($pwd . DIRECTORY_SEPARATOR . $filename); 
if (false === ($fh = fopen($filePath, 'r'))) { 
    die('Couldnt open ' . $filename); 
} 

我認爲這是服務於作者的目的,但很奇怪:它從腳本所在的目錄以及$ argv [1]中傳遞的任何內容構建出一條路徑。由於您已經將$ argv [1]中的文件的完整路徑傳遞給該文件,所以無法正常工作。非常快速修復可能是

//$pwd = $_SERVER['PWD']; 
$filePath = $argv[1]; 
if (false === ($fh = fopen($filePath, 'r'))) { 
    die('Couldnt open ' . $filename); 
} 

也就是說,使用$ argv [1]「按原樣」傳遞的值。顯然,這也可以讓你簡化上面的代碼,但我會把它作爲一個練習。

+0

工程很好,非常感謝您的幫助。 –