我创建了一个创建另一个php文件的php文件, 继承人代码:
if (isset($_POST["Submit"])) {
$name=$_POST['name'];
$string = '<?php
echo "'. $_POST["message"]. '";
?>
';
$fp = fopen("$name.php", "w");
fwrite($fp, $string);
fclose($fp);
}
&#13;
它在我的本地机器上使用xampp成功创建了一个php文件, 但是当我将它上传到我的网站主办网站时,每次我点击提交,它都不会创建我写的任何文件。 我不知道它有什么问题, 有人说我需要将它连接到我的ftp服务器, 但我不懂。 提前谢谢你的帮助。
答案 0 :(得分:0)
检查您要保存文件的目录的权限。它必须是664。
答案 1 :(得分:0)
我认为你有三件事需要解决。 1)文件权限 2)重写文件 3)因为你已经使用了PHP代码,所以你的行上有一个错误,因为你已经使用了PHP代码
试试这个
<?php
//If the form is submited
if (isset($_POST["Submit"]))
{
//we parse the informations
$name=addslashes($_POST['name']);
$string = addslashes($_POST["message"]);
//We will recreate the file even if it was existing
$fp = fopen("$name.php", "w+");
fwrite($fp, $string);
fclose($fp);
//We give access permission to the file
chmod("$name.php", 0777);
}
?>
如果您要在目录中创建文件,请使用您的ftp软件(如FileZilla)连接到您的ftp并右键单击该目录并单击Chmod。在该目录上创建一个Chmod 0777。一切都应该正常。
提交验证
现在,如果它仍然不起作用,您可以通过使用此代码创建文件名 test.php 来逐位搜索错误
<?php
//we parse the informations
$name='my_one_file';
$string = '<h1>It is working<h1>';
//We will recreate the file even if it was existing
$fp = fopen("$name.php", "w+");
fwrite($fp, $string);
fclose($fp);
//We give access permission to the file
chmod("$name.php", 0777);
echo "<a href='$name.php' target='_blank'> <h1> $name.php</h1> </a>";
?>
然后在浏览器中启动yourwebsite / test.php。如果它工作,您的服务器上应该有一个文件名 my_one_file.php 。如果它显示一个链接,则问题出在您的 if(isset($ _ POST [&#34; Submit&#34;]))。这意味着我们必须交叉检查您的 html表单。
触摸验证
如果它仍然无法正常工作,那么我们可以验证是否需要先在服务器上创建文件,然后才像某些服务器那样进行修改。 为此,您仍将使用以下代码
创建test.php文件<?php
$name='my_one_file';
$string = 'My message';
touch("$name.php");
//We will recreate the file even if it was existing
$fp = fopen("$name.php", "w+");
fwrite($fp, $string);
fclose($fp);
//We give access permission to the file
chmod("$name.php", 0777);
echo "<a href='$name.php' target='_blank'> <h1> $name.php</h1> </a>";
?>
然后lauch yourwebsite / test.php。如果它有效,您的服务器上应该有一个文件名 my_one_file.php 。