سؤال

أتساءل عما إذا كان من الممكن كتابة رمز PHP إلى ملف. علي سبيل المثال:

fwrite($handle, "<?php $var = $var2 ?>");

أرغب في إنتاج السلسلة الدقيقة في الملف وليس رمز التقييم. هل هذا ممكن؟

أحصل حاليا على الإخراج التالي (حيث $ var = 1 و $ var2 = 2):

<?php 1 = 2 ?>

في حين أريد السلسلة الفعلية:

<?php $var = $var2 ?>

شكرا للمساعدة

هل كانت مفيدة؟

المحلول

يمكنك استخدام علامات اقتباس واحدة بدلا من علامات الاقتباس المزدوجة، والتي لا توسع أسماء متغيرات مضمنة:

fwrite($handle, '<?php $var = $var2 ?>');

نصائح أخرى

فقط الهروب رمز $

<?php
fwrite($handle, "<?php \$var = \$var2 ?>");
?>

يتم تحليل سلاسل مزدوجة مقتبسة للمتغيرات، ويتم إدراج قيمة المتغيرات في هذا الموضع. أفترض أن هذا لأن PHP أصلا مصممة كطبقة قالب قاعدة بيانات رقيقة.

شخصيا، أنا لا أحب ذلك ولا تستخدم أبدا اقتباسات مزدوجة بسبب هذا. بدلا من ذلك، أستخدم دائما اقتباسات واحدة وتأمل السلسلة:

<?php echo 'hello, ' . $name; ?>

يفعل نفس:

<?php echo "hello, $name"; ?>

ونقلت واحدة: تلوين بناء الجملة يعمل بشكل أفضل، إنه (هامشي) أسرع وأخطاء وجدت أسهل

هذا لا علاقة له بالملف IO. اقرأ عن استبدال متغير والهروب في سلاسل في PHP.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top