Luk*_*ing 6 php fopen overwrite fwrite unlink
我正在制作一个Android应用程序,需要能够将文件推送到服务器上.
为此,我正在使用POST,fopen/fwrite但此方法仅附加到文件并unlink在写入文件之前使用无效.(file_put_contents具有完全相同的效果)
这就是我到目前为止所拥有的
<?php
$fileContent = $_POST['filecontent'];
$relativePath = "/DatabaseFiles/SavedToDoLists/".$_POST['filename'];
$savePath = $_SERVER["DOCUMENT_ROOT"].$relativePath;
unlink($savePath);
$file = fopen($savePath,"w");
fwrite($file,$fileContent);
fclose($file);
?>
Run Code Online (Sandbox Code Playgroud)
当我不尝试写入文件时,该文件将正确删除它自己,但如果我尝试写入它,它将附加.
有人有任何关于覆盖文件内容的建议吗?
谢谢,卢克.
使用wa+打开和截断:
$file = fopen($savePath,"wa+");
Run Code Online (Sandbox Code Playgroud)
w +:开放阅读和写作; 将文件指针放在文件的开头,并将文件截断为零长度.如果该文件不存在,请尝试创建它.
a +:开放阅读和写作; 将文件指针放在文件的末尾.如果该文件不存在,请尝试创建它.
file_put_contents($savePath,$fileContent);
Run Code Online (Sandbox Code Playgroud)
如果文件不存在,将覆盖文件或创建。