PHP转换脚本的实现

时间:2017-04-12 21:06:39

标签: php upload

我试图实现一个将.stravactivity文件转换为GPX的PHP script - 它使用github代码,这是处理文件和传入的最佳方式变量$ filename

当我尝试通过cli打开时出现此错误:

enter image description here

1 个答案:

答案 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]中传递的值“按原样”。显然,这也可以让你简化上面的代码,但我会把它作为练习留给你。