注意:{Error}中的数组到字符串转换

时间:2013-12-07 13:00:22

标签: php

我必须创建一个目录并保存文件,但是有一个错误写在标题中。帮我解决这个错误。我的代码如下。

  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();

2 个答案:

答案 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";