如何使用fopen()和表单$ value中的变量基于表单创建文件?

我已经使用此表单脚本已有一年了,但是有一段时间没有对其进行检查,并且似乎不再起作用。


粘贴简化版本,不确定过去如何在PHP5中继续使用它,因为过去它工作正常。


在表单中,用户在一个字段中输入他/她的名字,然后在提交时,脚本应创建一个名为“保存他/她的name.html”的文件,但是在提交时,服务器会收到一个“ save .html”文件$ value未填写。


我的服务器当前已安装PHP 5.4.45,并且在过去的PHP5版本以及PHP7上都尝试过,但没有成功。


还尝试了一些$ _POST选项,但是运气不好,因此请粘贴上一个已知的工作版本。


形成PHP文件


<html>


<head>

<meta http-equiv='Content-Type' CONTENT='text/html; charset=utf-8'>

<meta name='GENERATOR'>

<meta name='ProgId'>

<title>Save form</title>

<SCRIPT>

function makevisible(cur,which){

if (which==0)

cur.filters.alpha.opacity=100

else

cur.filters.alpha.opacity=50

}

</SCRIPT>

<style type='text/css' rel='StyleSheet'>

A:link {

       COLOR: White; TEXT-DECORATION: none

}

A:visited {

       COLOR: White; TEXT-DECORATION: none

}

A:active {

       COLOR: White; TEXT-DECORATION: none

}

A:hover {

       COLOR: White; TEXT-DECORATION: underline

}

P {

       FONT-SIZE: 10px; COLOR: White; FONT-FAMILY: Verdana; TEXT-DECORATION: none

}

B {

       FONT-SIZE: 10px; COLOR: White; FONT-FAMILY: Verdana; TEXT-DECORATION: none

}

TD {

       FONT-SIZE: 10px; COLOR: White; FONT-FAMILY: Verdana; TEXT-DECORATION: none

}

BODY {

       FONT-FAMILY: Verdana; FONT-SIZE: 10px; MARGIN: 0px; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px

}

--></style>


</head>

<body bgcolor='#00500B'>


<p>Please fill the form</p>


<form action="save.php" method="post" enctype="multipart/form-data">

  <table width='100%'>

    <tbody>

      <tr>

        <td width='478' height='25'>Player:<br>

          <p>&nbsp;</p>

        </td>

        <td vAlign='top' width='278' height='24'><input name='player' id='player' size='20'></td>


您能否建议如何更改/修复代码,以便:1.创建具有正确文件名的文件2.根据用户的输入,在创建的文件中填充所有变量$。


HUX布斯
浏览 143回答 1
1回答

弑天下

您要访问的任何变量都需要通过进行访问$_POST。在脚本的顶部,您可以像这样声明每个变量:$charactername&nbsp;=&nbsp;$_POST["$charactername"];或在内容本身中使用如下括号:{$_POST["charactername"]}另外:&nbsp;在您的<form标签中,摆脱enctype="multipart/form-data"。通过file输入上传二进制文件时使用。
打开App,查看更多内容
随时随地看视频慕课网APP