使用PHP脚本创建另一个PHP文件
我需要创建一个新的.php文件作为MySQL连接配置文件。 我有这样一个清单:使用PHP脚本创建另一个PHP文件,php,Php,我需要创建一个新的.php文件作为MySQL连接配置文件。 我有这样一个清单: $fileLocation = $_SERVER['DOCUMENT_ROOT'] . "/dbconnect.php"; file_put_contents($fileLocation,$content); $content = "<?php $koneksi = mysql_connect('.$host.', '.$username.', '.$password.'); //open connection
$fileLocation = $_SERVER['DOCUMENT_ROOT'] . "/dbconnect.php";
file_put_contents($fileLocation,$content);
$content = "<?php $koneksi = mysql_connect('.$host.', '.$username.', '.$password.'); //open connection
if(! $koneksi ) //if fail
{
die(\'Gagal Koneksi: \' . mysql_error());
}
echo \'Koneksi Berhasil\'; ?>";
$fileLocation=$\u服务器['DOCUMENT\u ROOT']。“/dbconnect.php”;
文件内容($fileLocation,$content);
$content=“”;
我使用post方法从另一个文件(包含主机、用户名和密码的表单)获取$username
、$host
和$password
我想在根目录中创建文件,我做了那个代码,但它不起作用。我试着写,但不太管用。我用谷歌搜索它,但我不太明白我在读什么
我应该怎么做?您需要将参数作为字符串传递:
mysql_connect("'.$host.'", "'.$username.'", "'.$password.'");
是的,这看起来像一个X-Y问题,需要解决,你的问题可以用更好的方法解决
注意:不要使用mysql.*
函数,因为它们已被弃用和删除
我试着写,但不起作用
问题几乎肯定是目录权限。您的PHP脚本没有将文件写入您提到的根目录的权限
然而
我想在根目录中创建文件
您当前试图做的事情看起来像是在制造安全风险。您允许用户以某种形式输入值,然后将这些值注入到您的脚本中,而无需任何消毒。然后将该文件写入服务器。不清楚您指的是服务器的根目录还是网站的根目录
MySQL扩展警告
自PHP5.5以来,该扩展及其函数已被弃用。您至少应该使用改进的扩展
结论
根据您的代码判断,以及您自诩的缺乏理解,我建议您现在不要采取当前的解决方案。您可能会带来各种安全风险,更不用说几乎肯定有更好的方法来实现您的目标
我建议您在继续之前至少阅读以下内容:
$content
之前执行文件\u放置内容($fileLocation,$content)
,因为$content
在此之前不存在。。。这显然是不言自明的。您的代码应该如下所示:
$fileLocation = $_SERVER['DOCUMENT_ROOT'] . "/dbconnect.php";
file_put_contents($fileLocation,$content);
$content = "<?php $koneksi = mysql_connect('.$host.', '.$username.', '.$password.'); //open connection
if(! $koneksi ) //if fail
{
die(\'Gagal Koneksi: \' . mysql_error());
}
echo \'Koneksi Berhasil\'; ?>";
你为什么在。。。等等什么?我很有信心,无论你想用这种方法解决什么问题,都有更好的方法来解决。我只学了2天php。你到底想做什么?为什么用户需要通过web表单在服务器上创建MySQL连接文件?可能有一种更简单、更安全的方法来实现你的目标。我的意思是,我的应用程序的根文件夹。因为创建新文件的文件位于/myapp/install/中。我想在/myapp/@kucing中找到新文件是的,我理解,如果文件未写入服务器,可能意味着myapp/install
的目录权限未设置为允许web服务器写入文件。但请解释一下你想要达到的目标,因为它看起来不合理或不正确。
<?php
$fileLocation = __DIR__ . "/../dbconnect.php";
$content = "<?php\n\n\t\$koneksi = mysql_connect('{$host}', '{$username}', '{$password}');";
if(!file_exists($fileLocation)){
file_put_contents($fileLocation, $content);
}
require_once $fileLocation;
if(! $koneksi ){
die('Gagal Koneksi: ' . mysql_error());
}
echo 'Koneksi Berhasil';