我试图实现一个将.stravactivity文件转换为GPX的PHP script - 它使用github代码,这是处理文件和传入的最佳方式变量$ filename
当我尝试通过cli打开时出现此错误:
答案 0 :(得分: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]中传递的值“按原样”。显然,这也可以让你简化上面的代码,但我会把它作为练习留给你。