2012-02-05 2 views
-1

Мне нужно вызвать файл include более 1000 раз внутри цикла for. После 200 или 300 раз завершено, я получаю следующее сообщение об ошибкеphp include file call

Предупреждение: включите (function.php) [function.include]: не удалось открыть поток: Слишком много открытых файлов в каталоге/вар/WWW/HTML/тест .php

пример:

for($i=0;$i<=10000;$i==){ 
    include 'function.php'; 
} 

как исправить эту ошибку?

+2

Зачем вам это делать? Это одна из худших вещей, которые вы могли бы сделать. А что в 'function.php'? Вам нужно обойти это. – Vyktor

+0

Почему эта помеченная кассандра? – Gordon

+1

попробуйте 'include_once', который заставит вашу ошибку уйти;)/joke – Leigh

ответ

2
include 'function.php'; 
for($i=0;$i<=10000;$i==){ 
    function(); 
} 
+1

Col. предлагает вам обернуть функцию function.php в вызове функции. Это, вероятно, хорошая идея. – Navarr

+0

Или '$ content = file_get_contents ('function.php');' и в foreach: 'echo preg_replace_callback ('~ \ {\ $ (. *?) \} ~', $ Content, array ($ object, 'replaceVariables ')) ' – Vyktor

+0

@Col. Shrapnel, Great Ваша идея работает на 100% – user1105692

1

Правильная вещь - создать функцию в файле PHP, а затем вызвать функцию в цикле.

function something() { 
    // put whatever you have inside function.php 
} 

for ($i=0; $i<10000; $i++) { 
    // now call your function 10,000 times 
    something(); 
}