Ich brauche deine Hilfe, damit das funktioniert. Ich muss zwei PHP-Codes kombinieren, um zu funktionieren. Ich bin ein PHP-Anf?nger und danke Ihnen vielmals für jeden Rat, den Sie mir geben k?nnen. Vielen Dank im Voraus!
Beschreibung: Ich m?chte Inhalte (etwas Text) von 8 Seiten in meiner index.php anzeigen und die erhaltenen Inhalte in zuf?lliger Reihenfolge anzeigen. Ich wusste nicht, wie ich ausw?hlen sollte, wo mit dem Abrufen der Textdaten für die Seite begonnen werden soll, also habe ich die Zeichenoption gew?hlt (beginnt nach 1305 Zeichen, z?hlt 375 Zeichen).
Code 1 (W?hlen Sie 8 Seiten aus und zeigen Sie sie in zuf?lliger Reihenfolge an)
<?php $files = [ "folder/content1.php", "folder/content2.php", "folder/content3.php", "folder/content4.php", "folder/content5.php", "folder/content6.php", "folder/content7.php", "folder/content8.php" ]; shuffle($files); foreach ($files as $key => $file) { require($file); } ?>
Code 2 (Inhalt von Seite abrufen, beginnend mit Zeichen 1305, nur 375 Zeichen anzeigen)
<?php $section1 = file_get_contents("folder/content1.php", FALSE, NULL, 1305, 375); echo $section1; ?> </p> <?php $section2 = file_get_contents("folder/content2.php", FALSE, NULL, 1305, 375); echo $section3; ?> </p> <?php $section3 = file_get_contents("folder/content3.php", FALSE, NULL, 1305, 375); echo $section3; ?> </p> <?php $section4 = file_get_contents("folder/content4.php", FALSE, NULL, 1305, 375); echo $section4; ?> </p> <?php $section5 = file_get_contents("folder/content5.php", FALSE, NULL, 1305, 375); echo $section5; ?> </p> <?php $section6 = file_get_contents("folder/content6.php", FALSE, NULL, 1305, 375); echo $section6; ?> </p> <?php $section7 = file_get_contents("folder/content7.php", FALSE, NULL, 1305, 375); echo $section7; ?> </p> <?php $section8 = file_get_contents("folder/content8.php", FALSE, NULL, 1305, 375); echo $section8; ?> </p>
Mein Zusammenführungscode funktioniert nicht
<?php $files = [ "folder/content1.php", "folder/content2.php", "folder/content3.php", "folder/content4.php", "folder/content5.php", "folder/content6.php", "folder/content7.php", "folder/content8.php" ]; shuffle($files); foreach ($files as $key => $file) file_get_contents("$files", FALSE, NULL, 1305, 375); { require($file); } ?>
如果您對代碼進行更好的格式化,可能會更容易理解。特別是最后兩行可能最好像這樣編寫:
foreach ($files as $key => $file) { file_get_contents("$files", FALSE, NULL, 1305, 375); } require($file);
然后您可以看到問題所在:調(diào)用file_get_contents()
的結(jié)果沒有被賦值給任何變量,所以它只是消失了;而您看到的是最后一個require()
的結(jié)果,它傳遞了上一個foreach
循環(huán)中$file
的最后一個值。
實際上,file_get_contents()
的調(diào)用看起來有問題 - 第一個參數(shù)應該是一個字符串,但您傳遞的是一個嵌入在字符串中的數(shù)組的名稱,這有點奇怪 - 我沒有嘗試過,所以不確定會發(fā)生什么。
在我看來,無論循環(huán)中只有一個語句,都最好使用大括號 - 這樣做可以更容易避免錯誤。