Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP上传一个txt文件-在上传文件之前更改内容?_Php - Fatal编程技术网

用PHP上传一个txt文件-在上传文件之前更改内容?

用PHP上传一个txt文件-在上传文件之前更改内容?,php,Php,我正在上传一个txt文件到服务器,但我想先用一点正则表达式格式化它。如何将其发送到PHP脚本,更改其内容,然后上载 我从$\u FILES[“userinput”][“name”]获取其文件名,然后使用file\u get\u contents()保存其内容,然后对其进行编辑。但是现在我如何将这个已编辑的字符串移动到服务器,而不是原始的未编辑文件 我想创建一个新的.txt文件,并用字符串的内容填充它,然后上传,但这似乎不是很有效。有没有办法只修改试图上载的文件?在用PHP上载文件之前,它会保存为

我正在上传一个txt文件到服务器,但我想先用一点正则表达式格式化它。如何将其发送到PHP脚本,更改其内容,然后上载

我从
$\u FILES[“userinput”][“name”]
获取其文件名,然后使用
file\u get\u contents()
保存其内容,然后对其进行编辑。但是现在我如何将这个已编辑的字符串移动到服务器,而不是原始的未编辑文件


我想创建一个新的.txt文件,并用字符串的内容填充它,然后上传,但这似乎不是很有效。有没有办法只修改试图上载的文件?

在用PHP上载文件之前,它会保存为临时文件,该文件包含文件的内容,当您上载文件时,它基本上会上载临时文件。因此,您需要做的就是更改名为
$\u FILES['userinput']['tmp\u name']的文件的内容当你上传时,它会抓取你修改过的临时文件并上传。
编辑文件很容易,下面是一个示例,说明了如何进行编辑:

$filevalue = file_get_contents($_FILES['userinput']['tmp_name']);
$newfilevalue = PUT YOUR CODE HERE!
file_put_contents($_FILES['userinput']['tmp_name'], $newfilevalue);

注意:如果我有帮助,请单击绿色勾号或1点向上按钮

这不是上传文件的“官方”方式。我可能误解了你的问题,但是PHP是在服务器上运行的,而不是在客户端。因此,为了在上传文件之前“编辑”文件,这必须在客户端完成。您的PHP页面无法做到这一点。您可以上载文件,然后修改它并保存/移动/删除它。不过,同样——您不能从服务器端代码编辑客户端上的文件。@mrunion您可以使用服务器端代码编辑上载的文件。@路人如果您要对该文件进行操作,我看不出先将其读入内存,然后再将其写入内存有什么问题。是的,我知道@Waleed。根据这段引文
我如何将其发送到PHP脚本,更改其内容,然后上传?
他想在上传之前更改它。除非先上传服务器端PHP,否则无法使用它。不过,我该如何修改该文件的内容呢?我刚刚添加了这样做的方法:)