使用php表单创建名为的文件

使用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=

填写一个表单,它包含两个部分,文件名和文本。我需要在html目录中创建一个文件,它的名称为$filename,并将文本放入$text中。
不幸的是,我不能让它工作 如需帮助,请:

表格编号:

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