使用php表单创建名为的文件
填写一个表单,它包含两个部分,文件名和文本。我需要在html目录中创建一个文件,它的名称为$filename,并将文本放入$text中。使用php表单创建名为的文件,php,Php,填写一个表单,它包含两个部分,文件名和文本。我需要在html目录中创建一个文件,它的名称为$filename,并将文本放入$text中。 不幸的是,我不能让它工作 如需帮助,请: 表格编号: <form method="post" action="createfile.php"> <font size"3"><b>File name:</b> </font> <br /><input type="text" size=
不幸的是,我不能让它工作 如需帮助,请: 表格编号:
<form method="post" action="createfile.php">
<font size"3"><b>File name:</b> </font>
<br /><input type="text" size="15" name="filename" id="filename"><br />
<font size"3"><b>File data:</b> </font>
<div id="dat"><textarea name="thedata" id="thedata" cols="30" rows="15"></textarea></div>
<div id="sub" style="position:absolute; left: 25">
<input type="submit" value=" Create ">
</div>
</form>
文件名:
文件数据:
createfile.php代码:
<?php
$name= $filename;
$data= $thedata;
if ( $file && $data ) {
$fp = fopen($file, "w");
fwrite($fp, "<br>");
fwrite($fp, $data);
fclose($fp);
}
else
{ echo 'no text entered';
}
?>
感谢您的帮助HTML将与以下内容相同:
<form method="post" action="createfile.php">
<font size"3"><b>File name:</b> </font>
<br /><input type="text" size="15" name="filename" id="filename"><br />
<font size"3"><b>File data:</b> </font>
<div id="dat"><textarea name="thedata" id="thedata" cols="30" rows="15"></textarea></div>
<div id="sub" style="position:absolute; left: 25">
<input type="submit" value=" Create ">
</div>
</form>
文件名:
文件数据:
PHP:
使用以下代码:
<?php
$name= isset($_POST['filename'])?$_POST['filename']:0;
$data= isset($_POST['thedata'])?$_POST['thedata']:0;
if ($name && $data ) {
$fp = fopen($name, "w");
fwrite($fp, "<br>");
fwrite($fp, $data);
fclose($fp);
}
else {
echo 'no text entered';
}
?>
“不幸的是,我无法让它工作,请提供任何帮助”实际上不是一个问题描述。如果您没有想到,您应该意识到,任何人都可以使用此代码覆盖您的Web服务器用户可以访问的任何文件。这是一场相当大的安全噩梦。如果有人提供了一个像createfile.php
这样的文件并覆盖了你自己的网站怎么办?我想这是我的问题。我有权访问目录无需使用fopen
+fwrite
+fclose
,而是使用文件放入内容:。感谢您的回答,效果很好。现在我想为创建的文件执行命令,所以我做了一个命令,将.txt文件更改为.bin文件,并再次将其保存到同一目录?当做
<?php
$name= isset($_POST['filename'])?$_POST['filename']:0;
$data= isset($_POST['thedata'])?$_POST['thedata']:0;
if ($name && $data ) {
$fp = fopen($name, "w");
fwrite($fp, "<br>");
fwrite($fp, $data);
fclose($fp);
}
else {
echo 'no text entered';
}
?>