PHP从表单提交中编写换行符
我阅读了关于这类问题的所有结果,但似乎我无法解决它。我只想我的.txt文件创建一个新行,并禁用覆盖所说的文件,如果有人提交了一个新的条目 表格如下:PHP从表单提交中编写换行符,php,forms,newline,Php,Forms,Newline,我阅读了关于这类问题的所有结果,但似乎我无法解决它。我只想我的.txt文件创建一个新行,并禁用覆盖所说的文件,如果有人提交了一个新的条目 表格如下: <form action="shots.php" method="post" enctype="multipart/form-data"> <input type="text" name="caption" maxlength="180" placeholder="Enter caption here..."><br
<form action="shots.php" method="post" enctype="multipart/form-data">
<input type="text" name="caption" maxlength="180" placeholder="Enter caption here..."><br>
<input type="file" name="image">
<input type="submit" name="upload" value="Upload Now">
</form>
这是php代码:
<?php
$f = fopen("textfile.txt", "w");
fwrite($f, $_POST["caption"]);
fclose($f);
$f = fopen("textfile.txt", "r");
echo fgets($f);
fclose($f);
if(isset($_POST['upload'])){
$image_name = $_FILES['image']['name'];
$image_type = $_FILES['image']['type'];
$allowed_type = array("image/jpeg", "image/gif", "image/png");
$image_size = $_FILES['image']['size'];
$image_tmp_name = $_FILES['image']['tmp_name'];
if($image_size > 800000) {
echo "<br><div style='color: #ff4040'>File size too big.</div>";
exit();
}
if(!in_array($image_type, $allowed_type)) {
echo "<br><div style='color: #ff4040'>Only jpg, gif, and png files are allowed.</div>";
exit();
}
if($image_name==''){
echo "<br><div style='color: #ff4040'>Please select an image first!</div>";
exit();
}
else
move_uploaded_file($image_tmp_name,"larawan/$image_name");
echo "<br><div style='color: green'>Upload complete! A Game Master will now review your screenshot.</div><br>";
echo "<img style='width: 50%; height: auto' src='larawan/$image_name'>";
}
?>
替换这些行:
$f = fopen("textfile.txt", "w");
fwrite($f, $_POST["caption"]);
fclose($f);
与:
这将添加到文件的末尾,而不是覆盖它,并在每一行后面放置一个换行符
要包括用户提交的文件名,请执行以下操作:
file_put_contents("textfile.txt", $_POST["caption"] . " - " . $_FILES['image']['name'] . PHP_EOL, FILE_APPEND);
您应该将此代码移动到if
块中,因此只有在测试此处是否上载了表单后才能执行此操作。我想您正在寻找/n
我完全迷路了。你能帮我重新发布一个代码吗?如果你不想在文件中添加(a
)而不是写入(w
),你也应该在文件中添加(a
)overwritten@DamienPirsy我把它附加在“a”后面,是的,文本现在从未被覆盖。现在我的问题是.txt文件看起来是这样的:Submit1Submit2Submit3
此外,是否有一种方法可以将用户从表单提交的文件名添加到文本文件中?示例:CaptionSubmitted101-wallperentry.jpeg
谢谢您,先生。我已经在if
块中移动了它,现在一切都好了。非常感谢,先生!
file_put_contents("textfile.txt", $_POST["caption"] . " - " . $_FILES['image']['name'] . PHP_EOL, FILE_APPEND);