如何使用 file_put_contents() 写入变量值?

2024-05-05

一整天都在试图解决这个问题,假设这只是一个小错误......

我正在尝试使用file_put_content将变量值放入另一个 php 文件中..

下面的代码将解释:

将数据写入php的文件:

    <?php

require ('conf_2135432135435135412312534.php');

$F_name =$_POST['F__name'];
$L_name =$_POST['L__name'];
$E_mail =$_POST['Email'];
$GDI_user =$_POST['GDIusername'];
$ip=$_SERVER['REMOTE_ADDR'];
$C_date = date("F j, Y, g:i a");


mysql_connect($hostname,$username,$password) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());


$sql = "INSERT INTO $usertable (F_name, L_name, Email, GDI_username, Registration_IP, Date_registered) VALUES ('$F_name', '$L_name', '$E_mail', '$GDI_user', '$ip', '$C_date')";

if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
} 

$get_id = mysql_query("SELECT * FROM $usertable WHERE ". "GDI_username = '$GDI_user'");

while($id_check = mysql_fetch_array($get_id)) {
    $UNQ_ID = $id_check["Unique_id"];
 }

$src = "/home/files/1/741/html/WP/Default_files";
$dest = "/home/files/1/741/html/WP/$GDI_user";

echo "$GDI_user/config.php";

shell_exec("cp -r $src $dest");

 file_put_contents("/home/files/1/741/html/WP/$GDI_user/config.php",'<?

$affiliate_reference = "$UNQ_ID";
echo $UNQ_ID;

?>');
?>

^^该代码的作用的简短解释:^^

1.) 从 html 表单中获取信息

2.) 将数据插入数据库

3.) 从数据库中获取 Unique_id 编号

4.) 制作包含所有内容的文件夹的副本 (Default_files)

5.) 重复文件夹的名称与在 HTML 表单中输入的名称相同

6.) 写入重复文件夹中包含的文件 (config.php)

输出(config.php)应该包含什么:

<?

$affiliate_reference = "2154216354154"; //<<<thats just an example number
echo 2154216354154;

?>

相反,这是显示的内容:

<?

$affiliate_reference = "$UNQ_ID";
echo $UNQ_ID;

?>

完全迷失在这里。任何帮助将非常感激。


你正在使用'定义字符串,这意味着该值将不被解析。不过,这里的技巧是你想要解析 $UNQ_ID,但是你想要$affiliate_reference保持原样。这意味着您必须转义或手动连接

我会用这个代替:

'<?

$affiliate_reference = "'.$UNQ_ID.'";
echo '.$UNQ_ID.';

?>'

请注意,我对字符串的大部分使用单引号。这是有目的的,你不想要的$affiliate_reference待输出。您只想将 $UNQ_ID 转换为其等效字符串。您的另一个选择是使用"并逃脱$:

"<?

\$affiliate_reference = "'.$UNQ_ID.'";
echo '.$UNQ_ID.';

?>"

请注意\逃离$在 $affiliate_reference 前面。

我通常更喜欢第一种方式,颜色语法荧光笔会让这一点变得非常明显(甚至注意SO如何处理它),而第二个例子会导致荧光笔覆盖整个事物。这是一种偏好,但也是一个重要的偏好。

当然,愚蠢的事情总是有的:

$a = '$';

其次是

"<?

${a}affiliate_reference = "'.$UNQ_ID.'";
echo '.$UNQ_ID.';

?>"

只对你不喜欢的人使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 file_put_contents() 写入变量值? 的相关文章

随机推荐