【问题标题】:Opencart reading data from a fileOpencart 从文件中读取数据
【发布时间】:2014-01-20 05:50:06
【问题描述】:

我是 open-cart 的新手。我的任务是从文件中读取数据。

所以我做了一个函数 open-cart 来读取模型 category.php 中的文件

代码:

public function getFileData($category_id) {
    $file = fopen("temp.txt","r");
    $a = array();
    while(! feof($file))
    {
        array_push($a, fgetcsv($file));
    }
    fclose($file);
    return $a;
}

现在当我从控制器调用它时,它会给我超过 60 秒的超时错误。我使用 set_time_limit 增加了超时但没有效果。

但后来我做了一个简单的脚本来读取文件,它会在几毫秒内读取它。 但是同样的代码在 opencart 中不起作用。

我尝试了谷歌但一无所获。我确定我遗漏了一些东西。任何帮助将不胜感激

【问题讨论】:

  • 显示你声明这个函数的文件路径以及你从哪个控制器调用它
  • 函数在:C:\wamp\www\dtd\catalog\model\catalog\category.php 控制器在:C:\wamp\www\dtd\catalog\controller\product\product .php
  • 请将文件复制到具有777权限的图片文件夹(用于测试)并将fopen("temp.txt","r");更改为fopen(DIR_IMAGE."temp.txt","r");
  • @sankar 嗨谢谢,它的工作原理你能告诉我原因吗?现在我的文件存在于 open-cart 文件夹之外意味着在 www/files/temp.txt 我将如何从那里读取?
  • 无需将文件放在 opencart 文件夹之外。原因可能是: 1. 文件权限问题。 2. 给定的文件位置错误。我将其添加为答案,以便您接受。

标签: javascript php e-commerce opencart


【解决方案1】:

尝试步骤:

  1. 检查文件权限(通过授予777权限进行测试)。
  2. 验证文件路径。
  3. 使用 config.php 文件中的常量给出文件的绝对路径。例如,如果文件位于 image/data 文件夹中,则将文件路径指定为“DIR_IMAGE.”/data/temp.txt”。
  4. 使用phpfile_exists函数确认文件存在:http://in2.php.net/file_exists

祝你有美好的一天!!

【讨论】:

  • 非常感谢,您能告诉我为什么需要在 open-cart 中的 config.php 中提供路径吗?
  • 答案很简单——opencart 需要这些值才能正常工作。例如,如果您查看catalog/controller/common/header.php,您可以看到if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {。现在清楚了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 2014-03-16
  • 2013-09-20
  • 2018-07-06
  • 2014-01-07
相关资源
最近更新 更多