Інтернет Windows Android

Php отримати інформацію про файл. Як Створити Файл Phpinfo і Перевірити Інформацію про PHP

Будь-яке програмне забезпечення, яке ви хочете запустити на вашому веб сервері має певні вимоги, яким він повинен відповідати. Наприклад, для WordPress потрібно PHP версії 5.2.4 і вище. Залежно від сервера ви можете змінювати деякі настройки PHP, інші навпаки змінювати заборонено, однак, про них усіх можна отримати інформацію в файлі phpinfo. У цьому керівництві ви дізнаєтеся, як створити файл phpinfo і дізнатися значення і статус PHP модулів. Це також може бути корисно для отримання інформації про вашому хостинг акаунті, такий як max_execution_time, memory_limit, post_max_size і інший.

Перед тим, як ви почнете це керівництво, вам знадобиться наступне:

  • Доступ до контрольної панелі вашого хостингу або FTP аккаунту

Варіант 1 - Перевірка інформації про PHP через панель управління хостингу

У Hostinger, інформація про PHP вашого облікового запису може бути знайдена в розділі Додатково → Інформація про PHP. Це є дуже зручною функцією, так як вам не треба буде створювати додаткових файлів на вашому хостингу.

Після цього, ви переміститеся на сторінку з усією необхідною інформацією про вашу версії PHP, модулях і значеннях. Для пошуку конкретного модуля або функції скористайтеся пошуком, натиснувши поєднання клавіш CTRL + F.

Вітаємо! Ви дізналися, як отримати доступ до інформації про вашому php через панель управління Hostinger.

Варіант 2 - Перевірка інформації про PHP за допомогою створення файлу phpinfo.php

Не хвилюйтеся, якщо ваша хостинговая платформа не підтримує функцію показану в варіанті 1. Того ж результату можна досягти створивши спеціальний файл всередині вашого хостинг аккаунта. Файл також покаже всю інформацію про вашому PHP і буде доступний через браузер.

Крок 2.1 - Створення файлу phpinfo

Існує кілька шляхів для створення файлу phpinfo. У цьому керівництві ми будемо використовувати для цього. Однак той же результат може бути досягнутий створенням файлу на вашому локальному комп'ютері і подальшої завантаженні файлу на сервер через.

Увійдіть в панель управління хостингом і відкрийте Файловий менеджер. Натисніть кнопку новий файл для створення нового файлу.

У першому полі вкажіть шлях де буде створено новий файл. Далі, в полі Нове ім'я файлу введіть phpinfo.php. У більшості випадків ви можете залишити шлях без змін / public_html. У цьому випадку файл буде створений в кореневому каталозі вашого сайту.

Крок 2.2 - Редагування файлу

На цьому етапі у вас вже є порожній файл phpinfo.php у каталозі public_html. Скопіюйте наступний код в файл і натисніть іконку зберегтив лівому кутку екрана.

Ось і все, ви успішно створили PHP файл, який відобразить всі параметри вашого PHP. Як уже згадувалося раніше, той же результат може бути досягнутий за допомогою:

  1. Використовуйте будь-який текстовий редактор і створіть файл phpinfo.php на вашому комп'ютері.
  2. Додайте наступний код в файл:
  1. Завантажте файл використовуючи FTP в ваш каталог public_html.

Крок 2.3 - Перевірка інформації про PHP через браузер

Якщо все було зроблено правильно, то тепер ви можете отримати доступ до створеного файлу, додавши в кінець вашого доменного імені / phpinfo.php. Наприклад, http: //вашдомен.ru/phpinfo.php

Ви повинні побачити схожий результат при відкритті цієї сторінки через браузер:

На цій сторінці ви зможете побачити всі налаштування вашого PHP.

висновок

Закінчивши цей посібник ви навчилися, як створити файл phpinfo і перевірити інформацію про ваших налаштуваннях PHP. Дана інформація є корисною, якщо ви хочете дізнатися налаштування вашого хостингу або запустити програмне забезпечення, яке вимагає наявності певних PHP модулів.

завдання
Необхідно прочитати метадані файлу, наприклад права доступу і ім'я власника.

Рішення
Викличте функцію stat (), яка повертає масив інформації про фото:

$ Info \u003d stat ( "harpo.php");

Обговорення
Функція stat () повертає масив інформації про фото і з числовими, і із строковими індексами.

Елемент mode повернутого масиву містить права доступу у вигляді цілого числа за основою 10. Це збиває з пантелику, оскільки права доступу зазвичай виражаються або символічно (т. Е. Висновок команди ls -rw-r - r--), або у вигляді восьмеричного числа (т. е. 0644). Конвертувати права доступу в більш зрозумілий формат дозволяє функція base_convert (), яка перетворює права доступу в вісімкове число:

$ File_info \u003d stat ( "/ tmp / session.txt");
$ Permissions \u003d base_convert ($ file_info [ "mode"], 10,8);

В результаті отримаємо вісімкове число з шести цифр. Наприклад, якщо команда ls показує про /tmp/session.txt наступне:

Те значення елемента $ file_info [ "mode"] одно 33204, а значення змінної $ permissions одно 100664.

Останні три цифри (664) визначають права доступу до файлу: користувача (читання і запис), групи (читання і запис) і всіх інших (читання). Третя цифра, 0, означає, що для файлу не встановлено ні біт зміни ідентифікатора користувача (setuid), ні біт зміни ідентифікатора групи (setgid). Крайнє зліва число 10 означає, що це звичайний файл (а не сокет, символічна посилання або інший спеціальний файл).

Оскільки функція stat () повертає масив як з числовим, так і зі строковим індексами, то в результаті виконання циклу foreach з цього масиву ми отримуємо дві копії кожного значення. І тому треба звернутися до циклу for від елемента 0 до елемента 12 повернутого масиву.

Функція fstat () аналогічна розглянутої stat () і приймає дескриптор файлу (повернутий функцією fopen () або popen ()) в якості аргументу. Функцію fstat () можна застосовувати тільки для локальних файлів і не можна - до URL, переданих функції fopen ().
PHP-функція stat () здійснює дорогий базовий системний виклик stat (2).

Для мінімізації накладних витрат PHP кешируєт результати виклику stat (2). Тому якщо викликати функцію stat () для файлу, змінити його права і знову викликати функцію stat () для цього ж файлу, то будуть отримані ті ж самі результати. Щоб змусити PHP перевантажити метадані файлу, викличте функцію clearstatcache (), яка скине інформацію буфера PHP. Цей же кеш потрібен PHP і для інших функцій, які повертають метадані:

File_exists (), fileatime (), filectime (), filegroup (), fileinode (), filemtime (), fileowner (),
fileperms (), filesize (), filetype (), fstat (), is_dir (), is_executable (), is_file (), is_link (), is_readable (), is_writable () і lstat ().

PHP

file_exists ( "test.txt") // Чи існує файл? filesize ( "test.txt"); // Дізнаємося розмір файлу // Повертається тимчасова мітка: fileatime ( "test.txt"); // Дата останнього звернення до файлу // date ( "d M Y", $ atime); filemtime ( "test.txt"); // Дата зміни файлу // date ( "d M Y", $ mtime); filectime ( "test.txt"); // Дата створення файлу (Windows) // date ( "d M Y", $ ctime);

Файли: режими роботи

PHP

resource fopen (string filename, string mode) // resource - повертає покажчик на файл в разі успішної роботи, або FALSE в разі помилки
Режим роботи опис
r відкрити файл лише для читання;
r + відкрити файл для читання і запису;
w відкрити файл лише для запису. Якщо він існує, то поточний зміст файлу знищується. Поточна позиція встановлюється в початок;
w + відкрити файл для читання і для запису. Якщо він існує, то поточний зміст файлу знищується. Поточна позиція встановлюється в початок;
а відкрити файл для запису. Поточна позиція встановлюється в кінець файлу;
а + відкрити файл для читання і запису. Поточна позиція встановлюється в кінець файлу;
b обробляти бінарний файл. Цей прапор необхідний при роботі з бінарними файлами в ОС Windows.

Відкриття та закриття файлів в PHP

PHP

$ Fi \u003d fopen ( "test.html", "w +") or die ( "Помилка"); // Приклади $ fi \u003d fopen ( "http://www.you/test.html", "r"); $ Fi \u003d fopen ( "http://ftp.you/test.html", "r"); // Закриваємо fclose ($ fi)

Читання файлів в PHP

PHP

// Читаємо файл fread (int fi, int length) $ str \u003d fread ($ fi, 5); // Читаємо перші 5 символів echo $ str; // так як курсор пересунувся $ str \u003d fread ($ fi, 12); // Читаємо наступні 12 символів echo $ str; fgets (int fi [, int length]) // Прочитати рядок з файлу fgetss (int fi, int length [, string allowable]) // Прочитати рядок з файлу і відкинути HTML-теги // string allowable - теги, які необхідно залишити fgetc (int fi) // Зчитує символ з файлу

Спочатку Запис буде відбуватися в початок файлу, шляхом перезапису існуючих даних, якщо вони є. Тому, якщо вам потрібно записати щось в кінець файлу, потрібно встановити відповідний режим читання, Наприклад, a +.

Маніпуляції з курсором в файлах PHP

PHP

int fseek (int fi, int offset [, int whence]) // Установка курсора // int fi - покажчик на файл // offset - кількість символів, на які потрібно пересунутися. // whence: // SEEK_SET - рух починається з початку файлу; // SEEK_CUR - рух йде від поточної позиції; // SEEK_END - рух йде від кінця файлу. fseek ($ fi, -10, SEEK_END); // Читаємо останні 10 знаків $ s \u003d fread ($ fi, 10); $ Pos \u003d ftell ($ fi); // Дізнаємося поточну позицію rewind ($ f) // скидання курсора bool feof ($ f) // кінець файлу

Пряма робота з файлами (даними) в PHP

PHP

array file (string filename) // Отримуємо вміст файлу у вигляді масиву // Ще один варіант прямої роботи з даними file_get_contents (string filename) // Читання (отримуємо весь файл одним рядком) // Запис у файл (спочатку перезаписується) file_put_contents (string filename, mixed data [, int flag]); // FILE_APPEND // Запис в кінець файлу: file_put_contents ( "test.txt", "дані", FILE_APPEND); // Якщо записати масив, $ array \u003d array ( "I", "live"); file_put_contents ( "test.txt", $ array); // то отримаємо "Ilive"

Управління файлами в php

PHP

copy (string source, string destination); // Копіювання файлу rename (str oldname, str newname); // Перейменування файлу unlink (string filename); // Видалення файлу

Завантаження файлів на сервер PHP

// Настрoйкі PHP.ini file_uploads (on | off) // разрешаем.запрещаем завантаження файлів upload_tmp_dir // тимчасова папка для завантаження. по умовчання тимчасова папка upload_max_filesize (default \u003d 2 Mb) // макс. розмір файлу post_max_size // загальний розмір посилається форми (повинен бути більше upload_max_filesize) // Просте завантаження

HTML

Працюємо з файлами на сервері

PHP

// Приймаємо дані $ tmp \u003d $ _FILES [ "userfile"] [ "tmp_name"]; $ Name \u003d $ _FILES [ "userfile"] [ "name"]; // Переміщаємо файл move_uploaded_file ($ tmp, name); move_uploaded_file ($ tmp, "upload /". name); // перенаправляємо файл в папку upload // щодо поточного файлу // Що в масиві $ _FILES $ _FILES [ "userfile"] [ "name"] // ім'я файлу, наприклад, test.html $ _FILES [ "userfile"] [ " tmp_name "] // тимчасове ім'я файлу (шлях) $ _FILES [" userfile "] [" size "] // розмір файлу $ _FILES [" userfile "] [" type "] // тип файлу $ _FILES [" userfile "] [ "error"] // 0 - помилок немає, число - є

Функція збирає разом всю інформацію, що видається операційною системою для зазначеного файлу, і повертає її у вигляді масиву.

синтаксис:

Array stat (string $ filename)

Цей масив завжди містить такі елементи з зазначеними ключами:

0 - пристрій;
1 - Номер вузла inode;
2 - атрибути захисту файлу;
3 - число синонімів ( "жорстких" посилань) файлу;
4 - ідентифікатор uid власника;
5 - ідентифікатор gid групи;
6 - тип пристрою;
7 - розмір файлу в байтах;
8 - час останнього доступу в секундах, що пройшли з 1 січня 1970 роки;
9 - час останньої модифікації вмісту файлу;
10 - час останньої зміни атрибутів файлу;
11 - розмір блоку;
12 - число зайнятих блоків;

Цей масив поміщає інформацію, яка доступна в системах Unix. Під Windows багато поля можуть бути порожні.

Якщо $ filename задає не ім'я файлу, а ім'я символічного посилання, то всетаки буде повернута інформація про те файлі, на який посилається ця посилання (а не про заслання).

fileinode ()

Отримати номер inode файлу (PHP 3, PHP 4, PHP 5)

опис:

Int fileinode (string filename)

Функція повертає номер inode файлу або FALSE в разі виникнення помилки.

зауваження

fileowner ()

Отримати ідентифікатор власника файлу (PHP 3, PHP 4, PHP 5)

опис:

Int fileowner (string filename)

Функція повертає числовий ідентифікатор власника зазначеного файлу або FALSE в разі виникнення помилки. Щоб отримати ім'я власника у вигляді рядка, використовуйте функцію posix_getpwuid ().

зауваження: Результати цієї функції кешуються. Більш детальну інформацію дивіться в розділі clearstatcache ().

Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими пакувальниками url.

fileperms ()

Отримати інформацію про права на файл (PHP 3, PHP 4, PHP 5)

опис:

Int fileperms (string filename)

Функція повертає інформацію про права на зазначений файл або FALSE в разі виникнення помилки.

зауваження: Результати цієї функції кешуються. Більш детальну інформацію дивіться в розділі clearstatcache ().

Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими пакувальниками url. Список пакувальників, підтримуваних сімейством функцій stat (), дивіться у Дод. M.

Вивід прав в восмерічном поданні

echo substr (sprintf ( "% o", fileperms ( "/ tmp")), -4);
echo substr (sprintf ( "% o", fileperms ( "/ etc / passwd")), -4);
?>

Це виведе:

1777
0644

Висновок повної інформації про права

$ Perms \u003d fileperms ( "/ etc / passwd");

if (($ perms & 0xC000) \u003d\u003d 0xC000) (
// Сокет
$ Info \u003d "s";
) Elseif (($ perms & 0xA000) \u003d\u003d 0xA000) (
// Символічна посилання
$ Info \u003d "l";
) Elseif (($ perms & 0x8000) \u003d\u003d 0x8000) (
// Звичайний
$ Info \u003d "-";
) Elseif (($ perms & 0x6000) \u003d\u003d 0x6000) (
// Спеціальний блок
$ Info \u003d "b";
) Elseif (($ perms & 0x4000) \u003d\u003d 0x4000) (
// Директорія
$ Info \u003d "d";
) Elseif (($ perms & 0x2000) \u003d\u003d 0x2000) (
// Спеціальний символ
$ Info \u003d "c";
) Elseif (($ perms & 0x1000) \u003d\u003d 0x1000) (
// Потік FIFO
$ Info \u003d "p";
) Else (
// Невідомий
$ Info \u003d "u";
}

// Власник
$ Info. \u003d (($ Perms & 0x0100)? "R": "-");
$ Info. \u003d (($ Perms & 0x0080)? "W": "-");
$ Info. \u003d (($ Perms & 0x0040)?
(($ Perms & 0x0800)? "S": "x"):
(($ Perms & 0x0800)? "S": "-"));

// Група
$ Info. \u003d (($ Perms & 0x0020)? "R": "-");
$ Info. \u003d (($ Perms & 0x0010)? "W": "-");
$ Info. \u003d (($ Perms & 0x0008)?
(($ Perms & 0x0400)? "S": "x"):
(($ Perms & 0x0400)? "S": "-"));

// Світ
$ Info. \u003d (($ Perms & 0x0004)? "R": "-");
$ Info. \u003d (($ Perms & 0x0002)? "W": "-");
$ Info. \u003d (($ Perms & 0x0001)?
(($ Perms & 0x0200)? "T": "x"):
(($ Perms & 0x0200)? "T": "-"));

echo $ info;
?>

результат:

R - r - r--

fnmatch ()

Чи збігається ім'я файлу з шаблоном (PHP 4\u003e \u003d 4.3.0, PHP 5)

опис:

Bool fnmatch (string pattern, string string [, int flags])

fnmatch () перевіряє, чи співпадає переданий параметр string із зазначеним шаблоном підстановок оболонки (shell wildcard) pattern.

Ця функція корисна при рабоде з іменами файлів, хоча може бути використана і на звичайній рядку. Середньостатистичний користувач знайомий з підстановками оболонки, як мінімум в їх простій формі з підстановок "?" і "*", так що використання fnmatch () замість ereg () або preg_match () для пошуку в призначеній для користувача частині сайту може бути набагато зручніше для користувачів, не знайомих з регулярними виразами.

Перевіряє, чи відповідає колір шаблоном підстановок оболонки.

if (fnmatch ( "* gry", $ color)) (
echo "some form of gray ...";
}
?>

На даний момент ця функція недоступна в Windows і інших POSIX-несумісних системах.

Отримує інформацію про фото використовуючи відкритий файловий покажчик (PHP 4, PHP 5)

опис:

Array fstat (resource handle)

Збирає статистичну інформацію про відкритому файлі по файловому вказівником handle. Ця функція схожа на stat (), за винятком того, що вона працює з відкритим файловим покажчиком, а не ім'ям файлу.

Повертає масив зі статистичною інформацією на файл; формат масиву докладно описаний на сторінці опису функції stat ().

Приклад використання функції fstat ()

// відкриваємо файл
$ Fp \u003d fopen ( "/ etc / passwd", "r");

// збираємо статистику
$ Fstat \u003d fstat ($ fp);

// закриваємо файл
fclose ($ fp);

// відображаємо лише асоціативну частину
print_r (array_slice ($ fstat, 13));

Результатом виконання даного прикладу буде щось подібне:

Array
=> 771
=> 488704
=> 33188
=> 1
=> 0
=> 0
=> 0
=> 1114
=> 1061067181
=> 1056136526
=> 1056136526
=> 4096
=> 8
)

зауваження: Ця функція не може бути застосована для роботи з віддаленими файлами, оскільки файл повинен бути доступний через файлову систему сервера.

is_writable ()

Визначає, чи доступний файл для запису (PHP 4, PHP 5)

опис:

Bool is_writable (string filename)

Повертає TRUE, якщо файл filename існує і доступний для запису. Аргумент filename може бути ім'ям директорії, що дозволяє вам перевіряти директорії на доступність для запису.

Не забувайте, що PHP може звертатися до файлу від імені того користувача, від якого запущений веб-сервер (зазвичай "nobody"). Обмеження безпечного режиму не беруться до уваги.

зауваження: Результати цієї функції кешуються. Більш детальну інформацію дивіться в розділі clearstatcache ().

Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими пакувальниками url

Отримує інформацію про файл або символічне посилання (PHP 3\u003e \u003d 3.0.4, PHP 4, PHP 5)

опис:

Array lstat (string filename)

Збирає статистику на файл або символічне посилання з ім'ям filename. Ця функція ідентична функції stat (), за винятком того, що якщо filename є символічною посиланням, повертається статус символічного посилання, а не того файлу, на який вона вказує.

Зверніться до сторінки керівництва функції stat () для отримання інформації про структуру масиву, який повертає lstat ().

зауваження: Результати цієї функції кешуються. Більш детальну інформацію дивіться в розділі clearstatcache ().

Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими пакувальниками url.

fileatime

Повертає час останнього доступу до файлу.

синтаксис:

Int fileatime (string filename)

Якщо файл не виявлений, повертає false.

Атрибут часу останнього доступу до файлу змінюється кожен раз, коли дані файлу читаються. Так як це сильно знижує продуктивність при інтенсивній роботі з файлами і каталогами, часто зміна цього атрибута в операційних системах блокують, і тоді функція марна.

filemtime

Повертає час останньої зміни файлу або false у разі відсутності файлу.

синтаксис:

Int filemtime (string $ filename)

filectime

Повертає час створення файлу.

синтаксис:

Int filectime (string $ filename)

filesize

Повертає розмір файлу в байтах або false, якщо файлу не існує.

синтаксис:

Int filesize (string $ filename)

Встановлює час модифікації.

синтаксис:

Int touch (string $ filename [, int $ timestamp])

Встановлює час модифікації зазначеного файлу $ filename рівним $ timestamp (в секундах, що пройшли з 1 січня 1970 року).

Якщо другий параметр не вказано, то мається на увазі поточний час. У разі помилки повертає false.

Якщо файл з вказаним ім'ям не існує, він створюється порожнім.

Змінює режим доступу до файлу або каталогу (PHP3, PHP4, PHP5)

опис:

Bool chmod (string filename, int mode)

Здійснює спробу зміни режиму доступу файлу або каталогу, переданого в параметрі filename на режим, переданий в параметрі mode.

Зверніть увагу, що значення параметра mode не переводиться автоматично в вісімкову систему числення, тому рядки (такі, як, наприклад, "g + w") не працюватимуть належним чином. Щоб упевнитися в тому, що режим був встановлений вірно, яка випереджає значення, яке передається в параметрі mode, нулем (0):

chmod ( "/ somedir / somefile", 755); // десяткове, невірний спосіб
chmod ( "/ somedir / somefile", "u + rwx, go + rx"); // рядок, невірний спосіб
chmod ( "/ somedir / somefile", 0755); // вісімкове, вірний спосіб
?>

Значення параметра mode складається з трьох вісімкових чисел, що визначають рівень доступу для власника файлу, для групи, в яку входить власник, і для інших користувачів, відповідно. Число, що визначає рівень користувача, може бути обчислено шляхом підсумовування значень, що визначають права:

1 - доступ на виконання,
2 - доступ на запис,
4 - доступ на читання.

Більш докладно про систему прав в системах Unix ви можете дізнатися за допомогою команд "man 1 chmod" and "man 2 chmod".

// Доступ на запис і читання для власника, немає доступу для інших
chmod ( "/ somedir / somefile", 0600);
// Доступ на запис і читання для власника, доступ на читання для інших
chmod ( "/ somedir / somefile", 0644);
// Повний доступ для власника, доступ на читання і виконання для інших
chmod ( "/ somedir / somefile", 0755);
// Повний доступ для власника, доступ на читання і виконання для групи власника
chmod ( "/ somedir / somefile", 0750);
?>

Повертає TRUE у разі успішного завершення або FALSE в разі виникнення помилки.

Зауваження: Поточним користувачем є користувач, від імені якого виконується PHP. Можливо, що цей користувач буде відрізнятися від користувача, під ім'ям якого ви отримуєте доступ до командної оболонки або облікового запису FTP.

Зауваження: Ця функція не може бути застосована для роботи з віддаленими файлами, оскільки файл повинен бути доступний через файлову систему сервера.

Зауваження: Коли безпечний режим включений, PHP перевіряє чи має файл або директорія, з якої ви працюєте, такий же UID, як і що виконується скрипт. Крім того, ви не можете встановлювати SUID, SGID і "липкі" біти.

(PHP 3, PHP 4, PHP 5)

stat - Отримує інформацію про фото

опис

array stat (String filename)

Збирає статистичну інформацію про фото filename. Якщо filename є символічною посиланням, інформація збирається про самому файлі, а не посиланням. функція lstat () індентичності функції stat () за винятком того, що в даному випадку вона поверне інформацію про саму символічне посилання.

У разі помилки, stat () поверне FALSE . Також вона видасть попередження.

Повертає масив статистичної інформації про файл. Масив включає наступні елементи. Індексація починається з нуля. Також доступ до будь-якого Атрибути можна отримати по асоціативному ключу, який вказаний навпроти кожного параметра; ця можливість з'явилася починаючи з версії PHP 4.0.6:

Таблиця 1. Формат результату роботи функцій stat () і fstat ()

* - доступний тільки на системах, що підтримують тип st_blksize, інші системи (наприклад Windows) повернуть -1.

Підказка:Починаючи з PHP 5.0.0, ця функція також може бути використана з деякими пакувальниками url. Список пакувальників, підтримуваних сімейством функцій stat (), Дивіться в