Podręcznik użytkownika CodeIgniter wersja 2.2.1


File Helper

Helper File zawiera funkcje pomagające w pracy z plikami.

Ładowanie helpera

Ten helper jest ładowany za pomocą poniższego kodu:

$this->load->helper('file');

Dostępne są następujące funkcje:

read_file('ścieżka')

Zwraca dane otrzymane z pliku, który został określony w pierwszym parametrze. Przykład:

$string = read_file('./sciezka/do/pliku.php');

Ścieżka do pliku może być relatywna lub pełna. Zwraca FALSE (boolean) w przypadku niepowodzenia.

Uwaga: Ścieżka jest relatywna do Twojego głównego pliku index.php, NIE do Twoich kontrolerów lub plików widoku. CodeIgniter używa front kontrolera, dlatego ścieżki są zawsze relatywne do głównego indeksu strony.

Jeśli Twój serwer ma włączoną opcję open_basedir, to ta funkcja może nie działać, jeśli będziesz chciał uzyskać dostęp do pliku znajdującego się powyżej pliku wywołującego go.

write_file('ścieżka', $dane)

Zapisuje dane do pliku określonego w ścieżce. Jeśli plik nie istnieje, zostanie utworzony. Przykład:

$data = 'Dane pliku';

if ( ! write_file('./sciezka/do/pliku.php', $data))
{
     echo 'Nie można zapisać pliku';
}
else
{
     echo 'Plik zapisany!';
}

Opcjonalnie możesz ustawić tryb zapisu poprzez trzeci parametr:

write_file('./sciezka/do/pliku.php', $data, 'r+');

Domyślnym trybem jest wb. Odwiedź dokumentację PHP po więcej opcji.

Uwaga: Aby ta funkca mogła zapisać dane do pliku, uprawnienia do niego muszą być ustawione jako "do zapisu" (666, 777, itd.). Jeśli plik jeszcze nie istnieje, folder w którym będzie umieszczony plik, musi mieć prawa zapisu.

Uwaga: Ścieżka jest relatywna do Twojego głównego plku index.php, NIE do Twoich kontrolerów lub plików widoku. CodeIgniter używa front kontrolera, dlatego ścieżki są zawsze relatywne do głównego indeksu strony.

delete_files('ścieżka')

Usuwa WSZYSTKIE pliki znajdujące się w danej ścieżce. Przykład:

delete_files('./sciezka/do/katalogu/');

Jeśli drugi parametr jest ustawiony na true, wszystkie katalogi znajdujące się poniżej głównej ścieżki, która została określona, zostaną usunięte. Przykład:

delete_files('./sciezka/do/katalogu/', TRUE);

Uwaga: Aby pliki zostały usunięte, muszą mieć prawa zapisu lub ich właścicielem musi być system.

get_filenames('sciezka/do/katalogu/')

Funkcja jako pierwszy parametr przyjmuje ścieżkę, a z wraca tablicę z nazwami wszystkich plików, które się w niej znajdują. Ścieżka może być opcjonalnie dodana do nazw zwracanych plików, poprzez ustawioenie drugiego parametru na TRUE.

get_dir_file_info('sciezka/do/katalogu/', $top_level_only = TRUE)

Skanuje określony katalog i tworzy tablicę zawierającą nazwę pliku, typ pliku, daty i uprawnienia dla każdego pliku. Subfoldery dla danej ścieżki są sprawdzane tylko wtedy, kiedy drugi parametr $top_level_only jest ustawiony na FALSE, ponieważ może być to czasochłonna operacja.

get_file_info('sciezka/do/pliku', $file_information)

Jako parametr przyjmuje ścieżkę do pliku, a zwraca nazwę pliku, ścieżkę i datę modyfikacji. Drugi parametr pozwala na rozszerzenie zakresu informacji jakie chcesz otrzymać o pliku. Opcje są następujące: name, server_path, size, date, readable, writable, executable, fileperms. Funkcja zwraca FALSE jeśli plik nie możne zostać znaleziony.

Uwaga: Opcja "writable" funkcji PHP is_writable(), ma problemy z poprawnym działąniem na serwerach IIS. Rozważ więc w zamian użycie opcji fileperm, która zwraca informacje z funkcji PHP fileperms().

get_mime_by_extension('plik')

Przekształca rozszerzenie pliku na typ mime, bazując na ustawieniach zawartych w config/mimes.php. Zwraca FALSE jeśli nie może określić typu lub otworzyć pliku konfiguracyjnego z typami mime.

$file = "jakisplik.png";
echo $file . ' ma typ mime ' . get_mime_by_extension($file);

Uwaga: Nie jest to poprawna droga na określanie typu mime dla pliku, istnieje tylko dla wygody. Nie powinniśmy polegać na tej funkcji, jeśli tworzymy zabezpieczenia.

symbolic_permissions($perms)

Przyjmuje za parametr numeryczną wersję uprawnień (taką, jaką zwraca funkcja fileperms()) i zwraca standardową, symboliczną notację uprawnień dla pliku.

echo symbolic_permissions(fileperms('./index.php'));

// -rw-r--r--

octal_permissions($perms)

Przyjmuje za parametr numeryczną wersję uprawnień (taką, jaką zwraca funkcja fileperms()) i zwraca trójznakową, oktalną notację uprawnień dla pliku.

echo octal_permissions(fileperms('./index.php'));

// 644