Php: функция массива с fopen / fread - PullRequest
       25

Php: функция массива с fopen / fread

0 голосов
/ 24 сентября 2011

Я новичок в php, поэтому, пожалуйста, потерпите меня здесь.Это грубый пример, но допустим, у меня есть файл (который, очевидно, не работает :), скажем, 1.php, там у меня есть

<?php 
function links1($l1, $l2){echo "<a href='". $l1 ."'><img src='". $l2 ."'/></a>";}
$ext_file = '2.php';
$v1 = fopen($ext_file, 'r');
$data = fread($v1, filesize($ext_file));
//i assume some piece of code has to go here?? Or maybe i need a new approach ...
?>

, где я пытаюсь в основном прочитать 2.php гдеУ меня есть

links1("gg1", "1.jpg");
links1("gg2", "2.jpg");
etc...

, чтобы при открытии 1.php я видел 1.jpg 2.jpg и т. Д. И т. Д. ... Как это сделать?

И если это возможно, какя должен изменить код, который я мог бы поставить только

gg1 1.jpg
gg2 2.jpg
gg3 3.jpg
gg4 4.jpg
....

, и он все еще работал бы?

Спасибо, ребята, за помощь!

Ответы [ 2 ]

1 голос
/ 24 сентября 2011

Это возможно ...

$data = file_get_contents('2.php');
$data = explode("\n", $data);
foreach($data as $string){
    list($l1, $l2) = explode(' ', $string);
    links1($l1, $l2);
}

Если конец вашей строки установлен на Windows, а не на UNIX, они используют "\r\n" ...

1 голос
/ 24 сентября 2011

Вы можете просто включить 2.php в 1.php.

<?php 
function links1($l1, $l2){echo "<a href='". $l1 ."'><img src='". $l2 ."'/></a>";}
include "2.php";
?>

2.php должен выглядеть так:

<?php
links1("gg1", "1.jpg");
links1("gg2", "2.jpg");

Есть 4 различных типа:

  • include - включить файл, не выдавать ошибку, если файл существует (но он выдает предупреждение).
  • требуется - включить файл, выдать ошибку, если файл не существует.
  • include_once - включать файл, только если он не был ранее включен.
  • require_once - включать файл только в том случае, если он ранее не требовался.
...