【问题标题】:Create a file server side via a simple PHP/HTML page通过简单的 PHP/HTML 页面创建文件服务器端
【发布时间】:2014-05-25 10:47:54
【问题描述】:

我正在尝试创建一个 HTML/PHP 文件,其中用户在文本框中输入文件名,单击提交,然后在目录中的同一文件夹中创建该文件

这是我到目前为止所拥有的,不幸的是,这是我第四次尝试中的第三次,删除并重新启动。我不能保证这是最好的版本

<?php 

function addExtension($fileName) {
    return ($file) + ".txt";
}

if (isset($_POST['prefix'])) {
    $result = ($file), (intval($_POST['prefix']));
}

$ourFileName = addExtension;
$ourFileHandle = fopen($fileName, 'w') or die("can't open file");
fclose($ourFileHandle);
?>
<html>
<body>

    <?php if (isset($result)) { ?>
        <h1> Result: <?php echo $result ?></h1>
    <?php } ?>
    <form action="" method="post">
    <p>File name of file to be created <input type="text" name="prefix" /></p>
    <p><input type="submit"/></p>

</body>
</html>

我什至不确定如果我再走上正轨,任何帮助都会很棒,

谢谢


更新!!! 在下面的答案和几个小时的帮助下,我相信我到达了某个地方,但仍然不是 100%。

这就是我所拥有的。

<html>
<head>
<title>File Creation</title>
<?PHP

$prefix = $_POST['prefix'] ;
$extension = ".css" ;

$ourFileHandle = fopen($prefix, 'w') or die("can't open file");
fclose($ourFileHandle);
?>
</head>
<body>
<FORM NAME ="form1" METHOD ="POST" ACTION = "basicForm.php">
  <INPUT TYPE = "TEXT" VALUE ="username" NAME="prefix">
  <INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Login">
</FORM>
</body>
</html>

它按我的期望和愿望工作。我遇到的问题是创建组合“$prefix 和 $extension”的函数。我知道它很简单,而且我之前已经在教程中学习过它,但我似乎一辈子都找不到。任何更多的帮助将不胜感激!

如果有人好奇,我的最终意图是让脚本在指定文件夹内的同名文件夹中创建一个文件。该文件将是一个 css 文件,内容通过同一个表单动态更改。

再次感谢!


解决了

下面是最终代码/

<html>
<head>
<title>File Creation</title>
<?PHP
if ( isset( $_POST['Submit1'] ) ) { 
$prefix = $_POST    ['prefix'] ;
$extension = ".css" ;
print "File " .$prefix . $extension . " Created";
$ourFileHandle = fopen($prefix . $extension, 'w') or die("can't open file");
fclose($ourFileHandle);
}
?>
</head>
<body>
<FORM NAME ="form1" METHOD ="POST" ACTION = "fileCreationFormV2.php">
<INPUT TYPE = "TEXT" VALUE ="File Name" NAME="prefix">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Create">
</FORM>
</body>
</html>

我正在查看创建的旧联系表单 ID,它击中了我“.”。

感谢大家的帮助!

【问题讨论】:

  • “在同一个文件夹中”是什么意思?你的意思是你想让用户在存储你的php文件的文件夹inside创建文件?不!这是一个巨大的安全漏洞!
  • 最终我希望取得进展,以便它在指定文件夹中创建一个同名文件夹(我假设它解决了提到的安全漏洞)。但是由于我是相对较新的PHP,我认为最好先攻击最基本的功能并建立起来。感谢您寻找其他用户(Y)
  • 当然,试验总是一件好事。继续工作,但也要记住您提出的潜在问题。但最重要的是:始终记住,您可能会提出您不知道的问题。这是棘手的一点;-9

标签: php file text submit field


【解决方案1】:

在你的函数中,

function addExtension($fileName) {
return ($file) + ".txt"; // here you cannot call $file, you can call $fileName 
}

我没听懂你的这句话

$result = ($file), (intval($_POST['prefix']));

在这一行

$ourFileName = addExtension; // you have to call like addExtension('your file name goes here')

那么,

$ourFileHandle = fopen($fileName, 'w') or die("can't open file");

应该是

$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");

【讨论】:

  • 感谢您的帮助,再加上几个小时的摆弄让我处于一个更好的位置,但我仍然不是 100% 在那里,我将在我的帖子中添加我的进步。
【解决方案2】:
<?php
if(isset($_POST['prefix'])) {
$prefix=$_POST['prefix'];
$filename=$prefix . '.txt';
$ourFileHandle=fopen($fileName, 'w') or die("can't open file");
echo 'done!';
fclose($ourFileHandle);
}
else
{
echo '<html>
<body>
    <form action="" method="post">
    <p>File name of file to be created <input type="text" name="prefix" /></p>
    <p><input type="submit"/></p>

</body>
</html>';
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    相关资源
    最近更新 更多