我必须创建一个目录并保存文件,但是有一个错误写在标题中。帮我解决这个错误。我的代码如下。
function main() {
$scrapper = new Cloaked_Scraper();
// Prefix of URL's
$url_prefix = "link";
// URL
$urls = array("www.something.com?");
// Get ID from every URL and will save on index one of $url array
$urls[1] = ((explode("www.something.com?id=com.", $urls[0])));
$urls[0] = $url_prefix;
$urls[0];
$urls[1];
//mkdir("../temp/", 0777 /* The mode is 0777 by default, which means the widest possible access */);
// Destination folder where this file will save, and file name.
$output_dir[0] = "../temp/".$urls[0].$urls[1].".html";
$results = $scrapper->fetch($urls, $output_dir);
var_dump($results);
}
main();
答案 0 :(得分:1)
我不知道Cloaked_Scraper
是什么,但似乎它的fetch
方法只接受一个字符串作为它的第一个或第二个参数。您将数组传递给它们。
我认为$output_dir
需要是一个普通的字符串,但是通过分配给$output_dir[0]
,你隐式地将它变成一个数组。
将该行改为此,看看会发生什么:
$output_dir = "../temp/".$urls[0].$urls[1].".html";
但总的来说,我认为你的代码非常令人困惑。看起来你要回收$urls
数组的项目,而实际上应该使用单独的变量。
答案 1 :(得分:0)
$urls[1] = ((explode("www.something.com?id=com.", $urls[0])));
将字符串分解为字符串数组,详细地说,$urls[1]
包含:array( '', 'id=com');
您现在尝试将此数组插入此行:
$output_dir[0] = "../temp/".$urls[0].$urls[1].".html";
只需使用String的正确索引:
$output_dir[0] = "../temp/".$urls[0].$urls[1][0].".html";