HTML, Excel, Word, SEOPHP êóðñ äëÿ ÷àéíèêîâ ⇒ Ðàáîòà ñ ôàéëàìè

PHP äëÿ "÷àéíèêîâ"

Èíñòðóìåíòû
Âûáèðàåì IDE
Âûáèðàåì Web-ñåðâåð
Âûáèðàåì ÑÓÁÄ
Ñòðóêòóðà ÿçûêà PHP
Ïåðâûé øàã
Ñèíòàêñèñ
Òèïû äàííûõ
Ïåðåìåííûå è êîíñòàíòû
Îïåðàòîðû
Âûðàæåíèÿ
Óïðàâëÿþùèå ñòðóêòóðû
Ôóíêöèè
Êëàññû
Èñêëþ÷åíèÿ
Îøèáêè
Ìàññèâû
Ãëîáàëüíûå ìàññèâû
Cookies
Ñåññèè
Çàãðóçêà ôàéëîâ
Ðàáîòà ñ ôàéëàìè
Ðàáîòà ñ ôàéëàìè íà äèñêå
Ðàáîòà ñ äàííûìè â ôàéëå
Ïðèìåð óïðàâëåíèÿ ôàéëàìè
Ðàáîòà ñ áàçàìè äàííûõ
Ïîäêëþ÷åíèå
Àíàëèç ðåçóëüòàòîâ
Âûïîëíåíèå çàïðîñîâ
Îòêëþ÷åíèå
Ïðèìåð: îòñëåæèâàíèå ïîëüçîâàòåëåé
Ðàáîòà â ñåòè
Îòïðàâêà ïî÷òû
Áåçîïàñíîñòü
HTTP-àóòåíòèôèêàöèÿ
Çàùèòà ëîãèíîì è ïàðîëåì
Àâòîìàòèçàöèÿ
Ðåãóëÿðíûå âûðàæåíèÿ â PHP
Èíòåãðàöèÿ
PHP è JavaScript

 

Ðàáîòà ñ ôàéëàìè


Àâòîð: Àðòåìüåâ Ñåðãåé Èãîðåâè÷
ICQ: 438856621
email: _spin_@bk.ru

PHP, êàê è áîëüøèíñòâî ÿçûêîâ ïðîãðàììèðîâàíèÿ, èìååò ôóíêöèè äëÿ ðàáîòû ñ ôàéëàìè. Ýòè ôóíêöèè ìîæíî óñëîâíî ðàçäåëèòü íà 2 ãðóïïû. Â ïåðâóþ ïîïàäàþò ôóíêöèè óïðàâëåíèÿ ôàéëàìè è êàòàëîãàìè (êîïèðîâàíèå, ïåðåìåùåíèå, ñîçäàíèå è ò.ä.). Êî âòîðîé ãðóïïå îòíîñÿòñÿ ôóíêöèè äëÿ ðàáîòû ñ ñîäåðæèìûì ôàéëîâ.


Îäíàêî ïðåæäå ÷åì ðàññìàòðèâàòü êîíêðåòíûå ôóíêöèè, íåîáõîäèìî ðàññìîòðåòü íåêîòîðûå òèïû è îñîáåííîñòè ñåðâåðíûõ ôàéëîâûõ ñèñòåì. Òèïîâ âñåãî äâà: Windows è Unix. Ê Unix-òèïó îòíîñÿòñÿ ôàéëîâûå ñèñòåìû âñåõ Unix-ïîäîáíûõ ÎÑ (Linux, FreeBSD, Ubuntu è ïðî÷èå), õîòÿ êàæäàÿ è îáëàäàåò ñâîèìè äîïîëíèòåëüíûìè îñîáåííîñòÿìè.


Îäíàêî áîëüøèíñòâî îáû÷íûõ ïîëüçîâàòåëåé ðàáîòàþò ïîä óïðàâëåíèåì ÎÑ Windows, ïîýòîìó ìû ðàññìîòðèì òîëüêî îñíîâíûå âíåøíèå îòëè÷èÿ ôàéëîâîé ñèñòåìû Unix, íå âäàâàÿñü ãëóáîêî â äåáðè.


Ïåðâîå, ÷òî áðîñàåòñÿ â ãëàçà - íåò ïðèâû÷íûõ áóêâ äèñêîâ, à âñå ïóòè íà÷èíàþòñÿ ñî ñëåøà "\".

Ïóòü â Windows:     C:\home\users\root
Ïóòü â Unix:        /etc/home/users/root

Âòîðîå - â ïóòÿõ èñïîëüçóþòñÿ òîëüêî ïðÿìûå ñëåøè "/", òàêèå æå, êàê â URL-àäðåñàõ. Ïîìíèòå, ÷òî ïðèâû÷íûé Windows-ðàçäåëèòåëü ïóòè "\" (îáðàòíûé ñëåø) èñïîëüçóåòñÿ â PHP äëÿ "ýêðàíèðîâàíèÿ" ñïåöñèìâîëîâ â ñòðîêàõ. Ïîýòîìó, åñëè âàì íóæíî âñòàâèòü îáðàòíûé ñëåø â ñòðîêó, - åãî íàäî óäâîèòü èëè çàêëþ÷èòü â îäèíàðíûå êàâû÷êè, èíà÷å èíòåðïðåòàòîð âûäàñò îøèáêó.

<?php
$path = 'C:\home\users\root';
èëè
$path = "C:\\home\\users\\root";
?>

Òðåòüÿ ñóùåñòâåííàÿ îñîáåííîñòü - èìåíà ôàéëîâ â Unix ÷óâñòâèòåëüíû ê ðåãèñòðó. Ýòî îçíà÷àåò, ÷òî â îäíîì êàòàëîãå ìîæíî ñîçäàòü íåñêîëüêî ôàéëîâ, èìåíà êîòîðûõ áóäóò îòëè÷àòüñÿ òîëüêî ðåãèñòðîì ñèìâîëîâ. Íàïðèìåð, èìåíà "readme.txt", "Readme.TXT" è "README.txt" - ýòî ÐÀÇÍÛÅ ôàéëû â Unix, íî îäèí è òîò æå - â Windows. Îá ýòîé îñîáåííîñòè íàäî âñåãäà ïîìíèòü. Åñòü ïðîñòîå ïðàâèëî äëÿ íà÷èíàþùèõ, ïîçâîëÿþùåå èçáåæàòü îøèáîê, ñâÿçàííûõ ñ èìåíàìè ôàéëîâ: âñåãäà èìåíóéò¸ ôàéëû â íèæíåì ðåãèñòðå, à äëÿ ðàçäåëåíèÿ ëîãè÷åñêèõ ÷àñòåé èñïîëüçóéòå òî÷êè, ïîä÷¸ðêèâàíèÿ èëè òèðå. Íàïðèìåð:

my.test.page.php

template_file.php

 ïðèíöèïå, ìîæíî èñïîëüçîâàòü ýòó îñîáåííîñòü èì¸í ôàéëîâ â ïðàêòè÷åñêîé ðàáîòå (íàïðìåð, õðàíèòü âåðñèè îäíîãî ôàéëà, ïðîñòî ìåíÿÿ ðåãèñòðû áóêâ). Íî ëó÷øå èçáåãàòü òàêèõ òðþêîâ, ò.ê. îíè áóäóò ðàáîòàòü íå íà âñåõ Unix-ñèñòåìàõ, è ñîâñåì îòêàæóò ïðè ïåðåõîäå íà Windows-õîñòèíã.

Êàê â Windows, òàê è â Unix ïóòè ìîæíî óêàçûâàòü â ïîëíîì è îòíîñèòåëüíîì âèäå.  îòíîñèòåëüíîì âèäå ïóòü ìîæåò ñîäåðæàòü ñïåöèàëüíûå óïðàâëÿþùèå ñèìâîëû "." (òî÷êà) è ".." (äâå òî÷êè). Òî÷êà îáîçíà÷àåò òåêóùèé êàòàëîã, à äâå òî÷êè - ïðåäûäóùèé âûøåëåæàùèé.

Íàïðèìåð, åñëè ó íàñ íà ñåðâåðå åñòü òàêàÿ ñòðóêòóðà êàòàëîãîâ

/public
    /classes
        myclass.php
    /scripts
        myscript.php
    index.php
    utils.php

òî îáðàùåíèÿ ê ôàéëàì áóäóò âûãëàäåòü ñëåäóþùèì îáðàçîì (íà ïðèìåðå include()):

<?php
    //Ïîäêëþ÷èòü myclass.php èç index.php
    include('./classes/myclass.php');

    //Ïîäêëþ÷èòü myclass.php èç myscript.php
    include('./../classes/myclass.php');

    //Ïîäêëþ÷èòü utils.php èç myscript.php
    include('./../utils.php');
?>

Ïðåôèêñ "." â ïóòè ìîæíî íå óêàçûâàòü. Ñëåäóåò ïîìíèòü, ÷òî îòíîñèòåëüíûé ïóòü âñåãäà âû÷èñëÿåòñÿ íà÷èíàÿ îò ôàéëà, ñ êîòîðîãî íà÷àëîñü èñïîëíåíèå, à íå îò òåêóùåãî èñïîëíÿåìîãî. Ïîÿñíþ íà âûøåðàññìîòðåííîì ïðèìåðå. Åñëè ïîëüçîâàòåëü çàãðóçèë index.php, â êîòîðîì ïîäêëþ÷åí ôàéë /scripts/myscript.php, òî âñå îòíîñèòåëüíûå ïóòè áóäóò âû÷èñëÿòüñÿ îòíîñèòåëüíî index.php, íåçàâèñèìî îò òîãî, êîä êàêîãî ôàéëà ñåé÷àñ èñïîëíÿåòñÿ (index.php èëè myscripts.php).

 PHP ðåêîìåíäóåòñÿ óêàçûâàòü îòíîñèòåëüíûå ïóòè âåçäå, ãäå ýòî âîçìîæíî. Ýòî çíà÷èòåëüíî óïðîùàåò ðàáîòó ñ êîäîì è äåëàåò êîä ïåðåíîñèìûì. Åñëè âñå ïóòè â ïðîåêòå îòíîñèòåëüíûå, òî äëÿ ïåðåíîñà ïðîåêòà íà äðóãîé ñåðâåð äîñòàòî÷íî ïðîñòî ñêîïèðîâàòü âñå êàòàëîãè ïî íàçíà÷åíèþ è âñ¸ áóäåò ðàáîòàòü.

Òåïåðü ïðèñòóïèì ê èçó÷åíèþ ôóíêöèé è ïðè¸ìîâ ðàáîòû ñ ôàéëàìè.



 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû