إنشاء برنامج نصي المثبت
سؤال
أحاول إنشاء مثبت ، باستخدام مجموعة من الأشكال والأشكال. هذا هو الكود الخاص بي:
<?php
$myFile = "db_config.php";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, "$host = " . $_POST['host'] . ";\n $username = " . $_POST['username'] . ";\n $password = " . $_POST['password'] . ";\n $name = " . $_POST['name']";" ;);
fwrite($fh, 'mysql_connect("{$host}", "{$db_username}", "{$db_password}")\n or die(mysql_error());\n mysql_select_db("{$db_name}")\n or die(mysql_error()); ?>' ;);
fclose($fh);
?>
هذا هو الخطأ:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home2/runetyco/public_html/ballpointradio/new/install_action.php on line 4
المحلول
أنت في عداد المفقودين .
في نهاية الخط
[...]. $_POST['name'] . [<--] ";" ;)
نصائح أخرى
عدد قليل من المشاكل tbh .. مرتبة
<?php
$myFile = "db_config.php";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, '<?php' . PHP_EOL . '$host = "' . $_POST['host'] . '";' . PHP_EOL . '$username = "' . $_POST['username'] . '";' . PHP_EOL . '$password = "' . $_POST['password'] . '";' . PHP_EOL . '$name = "' . $_POST['name'] . '";' . PHP_EOL );
fwrite($fh, 'mysql_connect($host, $db_username, $db_password)' . PHP_EOL . 'or die(mysql_error());' . PHP_EOL . 'mysql_select_db($db_name) or die(mysql_error());' . PHP_EOL);
fclose($fh);
ملاحظة: لا أوصي بالقيام بذلك بهذه الطريقة ، وعادةً ما يكون ذلك أفضل بكثير لكتابة ملف تكوين بسيط والحفاظ على جميع التعليمات البرمجية ثابتة ، ولكن ما أعلاه يجيب على سؤالك حول الخطأ الذي تحصل عليه.
قد تكون المشكلة في ?>
. سيكون عليك الهروب منه. أيضا ، أنت لا تضع <?php
في بداية ملف conf الخاص بك.
لماذا تريد أن يكون ملف php على أي حال. لماذا لا تستخدم ملف INI و parse_ini_file (), أو XML ربما؟
السبب في أن إعطاء خطأ هو أنه يبحث عن مضيف $ المتغير على السطر 4 - إذا قمت بتغيير علامات الاقتباس المزدوجة إلى واحد ، فيجب إصلاح المشكلة - انظر أدناه:
<?php
$myFile = "db_config.php";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, '$host = ' . $_POST['host'] . ';\n $username = ' . $_POST['username'] . ';\n $password = ' . $_POST['password'] . ';\n $name = ' . $_POST['name'] . ';\n\n';
fwrite($fh, 'mysql_connect("{$host}", "{$db_username}", "{$db_password}")\n or die(mysql_error());\n mysql_select_db("{$db_name}")\n or die(mysql_error()); ?>' ;);
fclose($fh);
?>
لا تنتمي إلى StackOverflow