У меня в папке библиотеки есть папка ip_files.пример: library/ip_files/0.php
папка ip_files содержит несколько файлов.См. Изображение:
Я создал класс в папке ip_files
с именем GetCountry
код этого класса:
class GetCountry
{
public function iptocountry($ip)
{
$numbers = preg_split("/\./", $ip);
echo $numbers[0] . ".php"; //test path
//I have also tried the below for include path
//include(base_url()."application/libraries/ip_files/".$numbers[0] . ".php");
//gives a forbidden error
include($numbers[0] . ".php");
$code = ($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) + ($numbers[3]);
foreach ($ranges as $key => $value) {
if ($key <= $code) {
if ($ranges[$key][0] >= $code) {
$country = $ranges[$key][1];
break;
}
}
}
return $country;
}
}
ПАПКА КОНТРОЛЛЕРОВ
public function index($page = 'index')
{
$this->load->library('ip_files/GetCountry'); //load library
$country = $this->getcountry->iptocountry($_SERVER['REMOTE_ADDR']); //call function
var_dump($country);
$this->load->view('templates/head', $data);
$this->load->view('users/' . $page, $data);
$this->load->view('templates/footer', $data);
}
Моя проблема
Я получаю ошибку Message: include(::1.php): failed to open stream: Invalid argument
Я также получаю неопределенное смещение в цикле foreach, потому что я подозреваю, что путь не открывается правильно для функции для циклического перемещения по файлам.
Любая помощь или совет будут оценены.(Имейте в виду, что я новичок в CodeIgniter)