我正在努力实现的目标:
我的服务器上有两个基本文件,根据用户输入根据需要进行编辑/复制。我希望用javascript中的用户输入和PHP中的文件编辑来完成大部分工作,因为我最好使用javascript。我需要做的是编辑特定点的文件,并根据某些用户输入字符串的长度更改十六进制值。
我在没有寻求帮助的情况下尽我所能,但现在我肯定需要它。
其中一个文件的结构方式是:三个空的十六进制值,然后是一个等于设置字符串长度的十六进制值,设置字符串,三个空的十六进制值,一个等于长度的十六进制值设置的值字符串,最后是值字符串。一个例子是:
06 76 6F 6C 75 6D 65 00 00 00 02 37 38
06
是“音量”字符串的长度,
76 6F 6C 75 6D 65
是“音量”字符串,
02
是卷的值字符串的长度,“78”
37 38
是设置值,“78”
我可以自己将用户输入转换为十六进制,但我不知道如何用十六进制写入文件,或者用十六进制打开它,或者去我需要的地方......
另外,由于某种原因,000webhost不会让我上传txt文件或我需要使用的文件,所以有没有办法使用php的zip文件?
最后一件事,如何在javascript和php之间传输变量而不将它们写入html元素?
答案 0 :(得分:0)
您是否尝试使用带有fopen
标记的'b'
来阅读文件?这就是我在C中所做的事情。之后,您可以将数据读入数组并根据需要迭代元素。
答案 1 :(得分:0)
你不需要做任何特殊的事情来写成十六进制。只需存储您的值并输出它,php是二进制安全的。 (不要存储字符串“76”,存储值为76的字符。)
然后使用各种文件命令来读取和写入你的文件,如@myeviltacos所说。
你做(或多或少)需要将你的变量放在html元素中来传递它们。
您有四种选择:
带有隐藏元素的表单,然后提交。
使用网址中的变量创建一个网址并转到该网址。
使用ajax并执行前两个选项。
最后你可以使用jQuery让它自动为你做。使用$.ajax()
并将data属性设置为变量。
答案 2 :(得分:0)
向过去的自我(以及其他任何人在这里结束并且像我一样困惑)的消息:
十六进制不是一种数据,而是一种表示。虽然对于十六进制编辑器和其他程序来说,将二进制数据显示为十六进制是有用的,但在编程期间没有理由将数据转换为十六进制字符串。