【问题标题】:PHP Writing Newline from Form SubmissionPHP 从表单提交中编写换行符
【发布时间】:2014-06-03 07:58:14
【问题描述】:

我阅读了遇到此类问题的所有结果,但似乎无法解决。如果有人提交了新条目,我只想让我的 .txt 文件创建一个新行并禁用覆盖所述文件。

这是表格:

<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'>";
}

?>

Ciao!

【问题讨论】:

  • 我想你在找/n
  • 我完全迷路了,伙计。请您为我重新发布代码。
  • 如果您不希望文件被覆盖,您还应该附加 (a) 而不是写入 (w) 到文件
  • @DamienPirsy 我将它附加到“a”,是的,文本现在永远不会被覆盖。现在我的问题是 .txt 文件看起来像这样:Submit1Submit2Submit3

标签: php forms newline


【解决方案1】:

替换这些行:

$f = fopen("textfile.txt", "w");
fwrite($f, $_POST["caption"]); 
fclose($f);

与:

file_put_contents("textfile.txt", $_POST["caption"] . PHP_EOL, FILE_APPEND);

这将添加到文件的末尾而不是覆盖它,并在每行之后放置一个换行符。

要包含用户提交的文件名:

file_put_contents("textfile.txt", $_POST["caption"] . " - " . $_FILES['image']['name'] . PHP_EOL, FILE_APPEND);

您应该将此代码移动到if 块中,因此只有在测试这里是上传的表单后才能完成。

【讨论】:

  • 此外,有没有办法可以将用户从表单提交的文件名添加到文本文件中?示例:CaptionSubmitted101 - wallpaperentry.jpeg
  • 谢谢先生。我已经将它移到if 块中,现在一切正常。非常感谢楼主!
猜你喜欢
  • 2013-09-30
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
相关资源
最近更新 更多