Csvファイルからデータを取り出そうとしていますが、file_exists()
と一緒に使用するとファイルが存在しないとget_template_directory_uri()
が言っているので動けなくなります。
これは短いコードです:
function getPeopleNumber() {
$csv = get_template_directory_uri().'/report/report.csv';
$delimiter=',';
if(!file_exists($csv) || !is_readable($csv)) {
return FALSE;
}
$header = NULL;
$data = array();
if (($handle = fopen($csv, 'r')) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if(!$header) {
$header = $row;
}
else $data[] = array_combine($header, $row);
}
fclose($handle);
}
return $csv;
}
もし私がecho $csv
を実行した場合、完全な(そして正しい)パスがあります。
しかしそれでもこの関数はFALSE
を返します。何がおかしいのですか?
あなたはget_template_directory_uri()
を使っています、それはPATHではなくURLです。
代わりにget_template_directory()
を使用してください、それはPATHを返します。好きです:
$csv = get_template_directory() . '/report/report.csv';