我使用下面的HTML代码和php代码来编写新文件。
<html>
<body>
<form action="write.php" method="get">
ID : <input type="text" name="ID"><br>
<input type="submit">
</form>
</body>
</html>
<?php
$myfile = fopen($_GET["ID"] , "w") or die("Unable to open file!");
$txt = "Your user ID =";
fwrite($myfile, $txt);
$txt = $_GET["ID"];
fwrite($myfile, $txt);
fclose($myfile);
?>
如果我将TEST提交给html表单,php代码会写一个名为&#34; test&#34;的文件。它没有文件扩展名。 如何写&#34; TEST.html&#34;上面的代码。?
答案 0 :(得分:2)
在打开文件之前将扩展名添加到文件名: -
$filename = $_GET["ID"] . '.html';
$myfile = fopen($filename, "w") or die("Unable to open file!");
注意您正在开放自己解决各种安全问题。
答案 1 :(得分:1)
只需使用此代码: -
fopen($_GET["ID"].'.html' , "w")
答案 2 :(得分:0)
您需要在.html
添加!empty()
支票,如下所示: -
<?php
if(!empty($_GET['ID'])){ // check first that ID is coming or not
$myfile = fopen($_GET["ID"]."html" , "w") or die("Unable to open file!");
$txt = "Your user ID =";
fwrite($myfile, $txt);
$txt = $_GET["ID"];
fwrite($myfile, $txt);
fclose($myfile);
}
?>
要打开并阅读此文件: -
<?php
if(!empty($_GET['ID'])){ // check first that ID is coming or not
$myfile = fopen($_GET["ID"]."html", "r") or die("Unable to open file!");
echo fread($myfile,filesize($_GET["ID"]));
fclose($myfile);
}
?>
<强> OR: - 强>
<?php
if(!empty($_GET['ID'])){ // check first that ID is coming or not
$file = fopen($_GET["ID"]."html","r") or die("Unable to open file!"); ;
while(! feof($file)){
echo fgets($file). "<br />";
}
fclose($file);
}
?>
注意: -
在我看来,你需要.txt
而不是.html
。像test
这样的文本的HTML文件实际上没有任何意义,或服务器没有任何用处。顺便说一句,它是你想要的扩展名。我刚刚发表了自己的意见。