【问题标题】:PHP will not write file to directory via command prompt executed script but will write when executed in browserPHP不会通过命令提示符执行脚本将文件写入目录,但会在浏览器中执行时写入
【发布时间】:2012-01-04 05:57:40
【问题描述】:

我将在命令提示符中执行此命令

php C:\xampp\htdocs\dl.php

这些是我的 htdocs 目录的属性:

但是,在共享选项卡下,我在所有用户下都有写权限:

每次修改权限后我都重新启动了 apache,但没有成功。 我该如何解决这个问题?

我的 PHP 脚本通过 API 下载 XML 文件并将 XML 文件写入服务器的根目录。当我执行 www.mydomain.com/dl.php 时,将下载的 XML 写入根目录;但是,当我通过命令提示符执行 PHP 文件(dl.php)时,它不会将下载的文件写入根目录。

PHP 文件:

$today = date("F j, Y").".xml";
$ch = curl_init ("");

$fp = fopen("ipod_car_connectors2.xml", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

【问题讨论】:

  • 首先是什么问题?什么不起作用让你尝试这个?
  • 可能是当前工作目录的问题。您是否在代码中指定完整路径?也很高兴看到代码。
  • @djdy 查看编辑,我更新了代码
  • ini_set('display_errors', 'on');error_reporting(E_ALL); 添加到顶部并告诉我们您从命令行看到的内容。
  • 警告:curl_setopt();提供的参数不是第 16 行 C:\xampp\htdocs\dl.php 中的有效文件句柄资源

标签: php windows command prompt


【解决方案1】:

尝试将其更改为:

$fp = fopen("c:\xampp\htdocs\ipod_car_connectors2.xml", "w");

【讨论】:

    【解决方案2】:
      The solution was to escape slashes
    

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多