ここで小さな助けが必要です。関数内にグローバル変数を追加して外部で呼び出すことがいかに悪いかを読んでいましたが、変数を外部に取得する際に小さな問題がありました。グローバルは役に立ちましたが、ここでいくつかのファイルを処理しているので、安全を確保したいと思います
私のループはこれです
<?php
require_once('functions.php');
?>
<?php
foreach( $files as $key=> $file ){
global $download_link;
get_file_info($key,$file);
?>
<span><a href="<?php echo $download_link ?>"><?php echo $file->name ?></a></span>
<?php } ?>
私のfunction.phpの一部/は約150行の長さですが、これはメインのスニップです
function get_file_info($key,$file){
global $download_link;
$access = explode(",",$file->access);
$permission = in_array(1,$access);
if($permission){
$download_link = 'ok to download';
}else{
$download_link = 'canot download';
}
}
link var のほかに、 date 、 counter などの他のものもほとんどありませんが、それらはすべて何らかの条件に拘束されています。
やってみました
$link を返します。関数の最後で代わりにグローバルを使用しますが、未定義の変数エラーが発生します。
ここでの基本的な質問は、グローバルを使用せずに関数の外側で download_link 変数を取得する方法です。