0

これは私の news.php ファイルです:

<form action="create_file.php" method="post" class="form-horizontal"/>
   <label class="control-label">Заглавие:</label>
      <div class="controls">
         <input name="name" type="text" width="40" class="span6 m-wrap" />
         <input type="submit" value="Продължи..." class="btn red"></input>
      </div>
</form>

これは私の create_file.php です

<?php
$pre_file_name = $_POST['name'];

$ext = ".txt";

$file_name = $pre_file_name.$ext;

fopen($file_name,'w');
?>
<form action="edit_file.php" method="post" class="form-horizontal"/>
   <label class="control-label">Въведете новината (текст):</label>
      <div class="controls">
         <span class="field"><textarea class="span6 m-wrap" name="edit" cols="1600" rows="10"></textarea></span><p>
         <input type="hidden" name="file_name" value="<?php echo $file_name; ?>">
         <input class="btn red" type="submit" value="Създай!">
      </div>
</form>

これは私の edit_file.php です:

<?php
$edit = $_POST['edit'];

$file_name = $_POST['file_name'];

$file = fopen($file_name, 'w');

fwrite($file,$edit);

fclose($file);

header("Location: news-success.php");



?>

delete.php

    <?php 
$file = $_GET['name'];
unlink($file);

header('Location: news-delok.php');

?>

edit.php

<?php
$file_name = $_GET['name'];

$file_read = fopen($file_name,"r");
$contents = fread($file_read, filesize($file_name));
fclose($file_read);


?>
<html>
<form action="edit_file.php" method="POST">
  <label>Title:</label>
  <input class="span6 m-wrap" type="text" placeholder="<?php $array = explode(".",$file_name); echo $array[0] ?>" disabled=""><br>
  <label>Text:</label>
  <textarea class="span6 m-wrap" name="edit" cols="420" rows="10"><?php echo $contents ?></textarea><p>
  <input type="hidden" name="file_name" value="<?php echo $file_name ?>">
  <input class="btn red" type="submit" value="Update!">
                            </form>

ファイル名にスペースがあるかどうかを確認し (例: News 1.txt)、それらを + に置き換える (例: News+1.txt) スクリプトを作成するにはどうすればよいですか? 前もって感謝します。

4

2 に答える 2

1

create_file.phpについて、以下を実行します(テスト済み)。

例:ページタイトルが " page 1 "で、間にスペースがある場合、ページ " page_1.txt "が作成され、間にアンダースコアが追加されます。アンダースコアは、必要に応じて「 +」またはその他の有効な文字に置き換えることができます。

<?php
$ext = ".txt";
$pre_file_name = $_POST['name'];
$file_name = $pre_file_name.$ext;
$file_name = str_replace(" ", "_", $pre_file_name.$ext);
fopen($file_name,'w');
?>
<form action="edit_file.php" method="post" class="form-horizontal"/>
<label class="control-label">Enter the new (text):</label>
<div class="controls">
<span class="field"><textarea class="span6 m-wrap" name="edit" cols="1600" rows="10"></textarea></span><p>
<input type="hidden" name="file_name" value="<?php echo $file_name; ?>">
<input class="btn red" type="submit" value="Create one!">
</div>
</div>
</form>
于 2013-03-18T11:52:53.633 に答える
0

ファイル名の間のスペースを削除するには 次の行の後に str_replace()を使用します$pre_file_name = $_POST['name'];

あなたのコードは

$pre_file_name = $_POST['name'];

$new_file_name = str_replace(" ", "+", $pre_file_name);
于 2013-03-18T10:42:43.083 に答える