PHP创建新文件问题

时间:2011-12-15 16:19:32

标签: php html

我正在处理一个表单,该表单允许用户向网站提交文本并将其保存为服务器上的文件,以后我可以检索。我使用以下表格:         

    <p>
      <label for="Name">First Name</label>
      <input type="text" name="Name" id="Name" />
    </p>
    <p>
      <label for="Last Name">Last Name</label>
      <input type="text" name="LastName" id="LastName" />
    </p>
    <p>
      <label for="GuideName">Guide Name</label>
      <input type="text" name="GuideName" id="GuideName" />
    </p>
    <p>Copy and paste your study guide into this box.</p>
    <p>
      <textarea name="Guide" id="Guide" cols="100" rows="30"></textarea>
    </p>
    <p>Submit
      <input type="submit" name="Submit" id="Submit" value="Submit" />
      </p>
    </form>

以及以下PHP代码:

<?php
if (isset($_POST['Submit']))
{
    $firstName = $_POST['Name'];
    $lastName = $_POST['LastName'];
    $guideName = $_POST['GuideName'];
    $guide = $_POST['Guide'];
    $finalGuideName = $guideName."(".$firstName." ".$lastName.").txt";

    $fh = fopen($finalGuideName, 'w') or die("can't open file");
    fwrite($fh, $guide);
    fclose($fh);
}  
?>

我过去使用过这段代码(至少我认为是这段代码)来获取用户的信息并在服务器上创建一个文本文件。但是,当我检查表单是否有效时,服务器上没有任何内容。我究竟做错了什么?提前谢谢。

感谢大家的帮助,因为我试图修复它,它又开始工作了。我完全不知道为什么,我很确定我没有改变任何东西,但再次感谢你的帮助。

3 个答案:

答案 0 :(得分:1)

您的提交按钮名称为Submit2,因此请使用此代码

if (isset($_POST['Submit2'])) 

答案 1 :(得分:0)

您需要确保您正在写入的目录允许写入权限(更改为0755或0644 *)。此外,我不建议写入网站的ROOT,创建一个文件夹并更改权限。让任何人写根,不是一个好主意,哈哈

*感谢劳伦斯指出我的错误

答案 2 :(得分:0)

您是否尝试使用$ _REQUEST而不是_POST或_GET?

发现更多信息我认为你还应该为你的

添加其他信息
if(isset($_POST['Submit'])) {

只是为了确保达到该声明。 并且作为最后的手段,检查路径及其权限,例如从0777开始,如果它工作正确到755或644(它取决于目录的拥有用户与apache用户的配置,它们应该是所有人都在同一组,但这是另一个故事)