【问题标题】:Failed to open stream: Invalid argument when using PHP fopen()无法打开流:使用 PHP fopen() 时参数无效
【发布时间】:2017-02-28 15:08:13
【问题描述】:

每当我在 PHP 中运行一些代码时,我都会收到以下警告:

警告:fopen(extfiles/
通知:未定义的偏移量:C:\filepath\file.java 中的 1):无法打开流:C:\filepath\file 中的参数无效.php 在第 82 行 警告:feof() 期望参数 1 是资源,布尔值在第 84 行的 C:\filepath\file.php 中给出
警告:fgets() 期望参数 1 是资源,布尔值在第 87 行的 C:\filepath\file.php 中给出

代码中的几行:

$filenamee = $_POST["filename"];
$folder = $_POST["folder"];

$var1 = explode(".", $filenamee);
$var2 = explode(".", $folder);

$filename = "extfiles/".$var2[0]."/".$var1[0].".java";
$file = fopen($filename, "c"); // This is line 82
$lines_array = array();
while (!feof($file)) { // This is line 84


    $line = fgets($file); // This is line 87
    array_push($lines_array, $line);

}

代码需要创建和编辑 Java 文件,但问题是它没有创建它。每当我运行此代码时,我都会多次收到最后 2 个警告...

我能做些什么来解决它?

【问题讨论】:

  • 您应该使用file_exists() 函数检查文件是否存在。因为错误提示文件不存在。
  • 我知道文件存在。我想创建它并写入它
  • 但是我仍然得到最后两个错误,写的是string而不是boolean...
  • then这个词是什么意思?

标签: php fopen


【解决方案1】:

听起来脚本找不到要打开的文件。 extfiles/ 工作于 php 文件所在的目录。我们可以得到你的目录结构的树视图吗?通常,您需要从驱动器的根目录向上定义整个文件路径。

【讨论】:

  • exfiles 文件夹与file.php 在同一目录中。
  • 如果它在同一个目录中,为什么要包含它?那么应该是这样的: $filename = $var2[0]."/".$var1[0].".java";
  • 不,是filepath/file.phpfilepath/extfiles/file.java
猜你喜欢
  • 2013-04-25
  • 2015-09-28
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
相关资源
最近更新 更多