0

这是我的PHP:

  $file = fopen("1stock.js", "c+");
  $number = fseek($file, 20, SEEK_CUR);
  $fh = fgetc($number);
  fwrite($file, $fh -1);

我的第 20 个字符是我想在number - 1加载 php 文件时执行此操作的数字。为什么这不起作用?

我还希望对 .js 文件上的多个其他位置执行此操作,看起来有点像这样:

var item1_stockS = 5  //20th character including space.
var item1_stockM = 8
var item1_stockL = 3

我有一个看起来像这样的 HTML 表单:

<form action="stock.php" method="post">

Item1 S:<input value="remove" name="remove1S" type="submit" /> <br/> <script type="text/javascript">document.write(item1_stockS);</script><br/>

Item1 M:<input value="remove" name="remove1M" type="submit" /> <br/> <script type="text/javascript">document.write(item1_stockM);</script> <br/>

Item1 L:<input value="remove" name="remove1L" type="submit" /><br/> <script type="text/javascript">document.write(item1_stockL);</script> <br/>

因此,当您单击其中一个按钮时,它会从相应的库存编号中删除 1 个项目。

4

1 回答 1

0

当您fgetc在文件中执行当前位置时,前进了一步,因此当您写入时,您写入到数字所在的位置之后。在写作之前,您必须向后退一步。

另外,如果该值为零,请小心,因为这样您将写入-1两个字符,并将覆盖数字后的换行符。

您遇到的问题是fgetc函数的参数应该是文件句柄。请参阅fgetc文档!

于 2013-09-11T09:49:54.623 回答