Maison  >  Questions et réponses  >  le corps du texte

Le titre réécrit est : Traduire "Php fusionne deux codes (aléatoire + longueur)" en chinois

J'ai besoin de votre aide pour que cela fonctionne. Je dois combiner deux codes php pour fonctionner. Je suis débutant en php et merci beaucoup pour tous les conseils que vous pourrez me donner. Merci d'avance!

Description : Je souhaite afficher le contenu (du texte) de 8 pages dans mon index.php et afficher le contenu obtenu dans un ordre aléatoire. Je ne savais pas comment choisir par où commencer la récupération des données texte de la page, j'ai donc choisi l'option caractère (commence après 1305 caractères, en comptant 375 caractères).

Code 1 (Sélectionnez 8 pages et affichez-les dans un ordre aléatoire)

<?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 (obtenir le contenu de la page, à partir du caractère 1305, afficher uniquement 375 caractères)

<?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>

Mon code de fusion ne fonctionne pas

<?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); }
?>

P粉148782096P粉148782096373 Il y a quelques jours583

répondre à tous(1)je répondrai

  • P粉349222772

    P粉3492227722023-09-16 10:24:06

    Cela pourrait être plus facile à comprendre si vous formatez mieux votre code. Les deux dernières lignes en particulier sont probablement mieux écrites comme ceci :

    foreach ($files as $key => $file) {
        file_get_contents("$files", FALSE, NULL, 1305, 375);
    }
    
    require($file);

    Ensuite, vous pouvez voir où réside le problème : appeler la dernière valeur de file_get_contents()的结果没有被赋值给任何变量,所以它只是消失了;而您看到的是最后一个require()的结果,它传递了上一个foreach循环中$file.

    En fait, il semble qu'il y ait un problème avec l'appel à file_get_contents() - le premier argument devrait être une chaîne, mais vous lui transmettez le nom d'un tableau intégré dans la chaîne, ce qui est un peu bizarre - je n'ai pas essayé ça, donc je ne sais pas ce qui se passe.

    À mon avis, chaque fois qu'il n'y a qu'une seule instruction dans une boucle, il est préférable d'utiliser des accolades - cela permet d'éviter plus facilement les erreurs.

    répondre
    0
  • Annulerrépondre