【发布时间】:2019-03-22 09:41:19
【问题描述】:
我已经编写了一个 bash 脚本来调用 shell_exec() 并且只能以这种方式完成。但是,bash 和浏览器都执行脚本。我正在努力弄清楚我错过了什么。
#!/usr/bin/php
<?php
require_once '../classpath.php';
require_once LIB_PATH.'Parser.php';
require_once LIB_PATH.'Save.php';
include FUNCTION_PATH.'multi_download.php';
$save = new Save();
$save->setFolder(CACHE_VIDEO_PATH);
$parser = new Parser($argv[1]);
$basename = $parser->bytag('/cast/stream/video/','.ts')[1];
array_shift($basename);
for($i= 0;$i<sizeof($basename);$i++){
//echo CACHE_VIDEO_PATH.'/'.$basename[$i].'.ts';
if(!$save->checkFile(CACHE_VIDEO_PATH.'/'.$basename[$i].'.ts'))
$basename[$i] = SERVER_URL.$basename[$i].'.ts';
else
array_splice($basename,$i,$i);
}
【问题讨论】:
-
您的问题是什么?你有什么问题?
-
我不希望通过浏览器执行该脚本。看来我应该检查 php_sapi_name()。
-
如果您可以通过浏览器执行它,您应该从公共目录中删除该文件。
标签: php shell command-line-interface