いくつかのアクションを実行する別の関数build_additional_docs
を呼び出す関数がありますが、最初は関数の呼び出しですread_all_file
。これは、ファイルを文字列変数に抽出して返します。
create_file_node
関数が別の関数から呼び出された場合、これは完璧に機能します。
しかし、から呼び出されるとbuild_additional_docs
、クライアントはタイムアウトするまでサーバーを待機します...関数は失敗すると思いますfgets()
。
追加コメント:同じファイルで関数を呼び出しcreate_file_node
、ファイル名が静的文字列であり、foreachループがない場合、コードは再び機能します...
これが私のコードです:
function build_additional_docs($dir_name, $addDocsArr){
foreach ($addDocsArr as $doc) {
if($summery != ''){
$fileName = $dir_name . '\\' . $doc;
create_file_node($fileName);
}
}
function create_file_node($fileName){ global $base_url;
try{
$text = read_all_file($fileName);
}
catch (Exception $ex){
// some message here
}
return 0;
}
function read_all_file($file_name){
$file_handle = fopen($file_name, "r");
while (!feof($file_handle)) {
$line[] = fgets($file_handle);
}
fclose($file_handle);
return implode('',$line);
}