如何使用webhost中的另一个php文件创建一个php文件

时间:2015-02-14 12:34:12

标签: php

我创建了一个创建另一个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;
&#13;
&#13;

它在我的本地机器上使用xampp成功创建了一个php文件, 但是当我将它上传到我的网站主办网站时,每次我点击提交,它都不会创建我写的任何文件。 我不知道它有什么问题, 有人说我需要将它连接到我的ftp服务器, 但我不懂。 提前谢谢你的帮助。

2 个答案:

答案 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