Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ PHPΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 21

Автор white cat

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: SimpleXML содСрТит ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ добавлСния ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… свойств ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Они Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСны с использованиСм var_dump() ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° children()

<?php

$xml = simplexml_load_string(

'<sites>

<site name="spravkaweb.ru">

<site name="links.spravkaweb.ru" />

<site name="forum.spravkaweb.ru" />

<site name="server.spravkaweb.ru" />

</site>

<site name="yandex.ru">

<site name="money.yandex.ru" />

<site name="map.yandex.ru" />

<site name="market.yandex.ru" />

</site>

</sites>');

echo '<ul>';

foreach ($xml->children() as $site) {

echo '<dt>' . $site['name'];

foreach ($site->children() as $subsite) {

echo '<dd>' . $subsite['name'];

}

}

echo '</ul>';

?>

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

spravkaweb.ru links.spravkaweb.ru forum.spravkaweb.ru server.spravkaweb.ruyandex.ru money.yandex.ru map.yandex.ru market.yandex.ru

xpath


SimpleXMLElement-xpath


SimpleXMLElement-xpath -- ВыполняСт Xpath-запрос ΠΊ XML-Π΄Π°Π½Π½Ρ‹ΠΌ


ОписаниС


array SimpleXMLElement->xpath ( string path )

ΠœΠ΅Ρ‚ΠΎΠ΄ xpath ΠΈΡ‰Π΅Ρ‚ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты элСмСнта SimpleXML, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠΊΠ°Π·Π°Π½ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ path. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² SimpleXMLElement.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Xpath



<?php

$string = <<<XML

<a>

<b>

<c>text</c>

<c>stuff</c>

</b>

<d>

<c>code</c>

<b>

<c>plain</c>

</b>

</d>

</a>

XML;

$xml = simplexml_load_string($string);

/* Поиск по <a><b><c> */

$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {

echo '/a/b/c: ' . $node . '<BR>';

}

/* ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ... */

$result = $xml->xpath('b/c');

foreach ($result as $node) {

echo 'b/c: ' . $node . '<BR>';

}

?>

Π”Π°Π½Π½Ρ‹ΠΉ скрипт Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

/a/b/c: text/a/b/c: stuffb/c: textb/c: stuff

Π”Π²Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

simplexml_import_dom


simplexml_import_dom


(PHP 5)

simplexml_import_dom -- Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SimpleXMLElement, созданный ΠΈΠ· DOM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.


ОписаниС


SimpleXMLElement simplexml_import_dom ( DOMNode node [, string class_name] )

Данная функция Π±Π΅Ρ€Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ DOM ΠΈ создаСт Π½Π° Π΅Π³ΠΎ основС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SimpleXML. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΊΠ°ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SimpleXML. Если Π²ΠΎ врСмя создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ ошибки, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ false.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Import DOM

<?php

$dom = new domDocument;

$dom->loadXML('<sites><site><url>spravkaweb.ru</url></site></sites>');

if (!$dom) {

echo 'Ошибка парсинга Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°!';

exit;

}

$s = simplexml_import_dom($dom);

echo $s->site[0]->url; // spravkaweb.ru

?>

simplexml_load_file


simplexml_load_file


(PHP 5)

simplexml_load_file -- Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ XML-Ρ„Π°ΠΉΠ» Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚


ОписаниС


object simplexml_load_file ( string filename [, string class_name [, int options]] )

Π­Ρ‚Π° функция ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» filename с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сформированными XML-Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SimpleXMLElement. Если Π² XML-Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ошибки, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ FALSE.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ class_name Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ simplexml_load_file() для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ функция Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса. ΠŸΡ€ΠΈ этом класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ класса SimpleXMLElement.

Начиная с PHP 5.1.0 ΠΈ Libxml 2.6.0 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ options, спСцификация ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ описана Π² additional Libxml parameters.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Libxml 2 ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ URL ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ. Π’.Π΅. Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b&c Π² URL-строкС, Π²Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ: simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Начиная с PHP 5.1.0 это дСлаСтся Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

<?php

// Π€Π°ΠΉΠ» test.xml содСрТит XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ элСмСнтом

// ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ элСмСнтом title /[root]/title.

if (file_exists('test.xml')) {

$xml = simplexml_load_file('test.xml');

var_dump($xml);

} else {

exit('Ошибка открытия test.xml.');

}

?>

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

SimpleXMLElement Object( [title] => ВСстовый Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ...)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту title ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: $xml-title.


Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅:


simplexml_load_string()

simplexml_load_string


simplexml_load_string


(PHP 5)

simplexml_load_string -- Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ строку с XML Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚


ОписаниС


object simplexml_load_string ( string data [, string class_name [, int options]] )

Π­Ρ‚Π° функция Π±Π΅Ρ€Π΅Ρ‚ "ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ" XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, находящийся Π² строкС data ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса SimpleXMLElement, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ свойства, Ρ€Π°Π²Π½Ρ‹Π΅ содСрТимому xml-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Если XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ошибки, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ FALSE.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ class_name для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ функция simplexml_load_string() Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Π­Ρ‚ΠΎΡ‚ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ класс SimpleXMLElement.

Начиная с PHP 5.1.0 ΠΈ Libxml 2.6.0, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ options, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² additional Libxml parameters.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ XML-строки

<?php

$string = <<<XML

<?xml version='1.0'?>

<document>

<title>Forty What?</title>

<from>Joe</from>

<to>Jane</to>

<body>

I know that's the answer -- but what's the question?

</body>

</document>

XML;

$xml = simplexml_load_string($string);

var_dump($xml);

?>

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

SimpleXMLElement Object( [title] => Forty What? [from] => Joe [to] => Jane [body] => I know that's the answer -- but what's the question?)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ конструкции $xml-body ΠΈ Ρ‚.Π΄.

БимволичСскиС ссылки. ЖСсткиС ссылки.


НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ


Π’ систСмах Unix довольно часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. ΠŸΡ€ΠΈ этом ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΈΠΌΠ΅Π½ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ основным, Π° всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ - Π΅Π³ΠΎ псСвдонимами. Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Unix Ρ‚Π°ΠΊΠΈΠ΅ псСвдонимы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ символичСскими ссылками.

БимволичСская ссылка - это просто Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ссылку Π½Π° основной Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΅Π³ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅) систСма "сообраТаСт", ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π½Π° самом Π΄Π΅Π»Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ доступ, ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ Π΅Π³ΠΎ обСспСчиваСт. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символичСскиС ссылки Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Однако ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ссылкой ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ со ссылкой, Π° Π½Π΅ ΠΊΠ°ΠΊ с Ρ„Π°ΠΉΠ»ΠΎΠΌ. Для этого ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ пСрСчислСнныС Π½ΠΈΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP.


ЖСсткиС ссылки


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ символичСской ссылки - Π½Π΅ СдинствСнный способ Π·Π°Π΄Π°Ρ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° нСсколько ΠΈΠΌΠ΅Π½. Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток символичСских ссылок - сущСствованиС основного ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ всС ΠΈ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» - ΠΈ вся "ΠΏΠ°ΡƒΡ‚ΠΈΠ½Π°" ссылок, Ссли таковая имСлась, Ρ€Π°Π·Π²Π°Π»ΠΈΡ‚ΡŒΡΡ Π½Π° куски. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ нСдостаток: ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ссылка, происходит нСсколько ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‚.ΠΊ. систСмС Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ссылки ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связь с "настоящим" Ρ„Π°ΠΉΠ»ΠΎΠΌ. ОсобСнно это чувствуСтся, Ссли ΠΎΠ΄Π½Π° ссылка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π° Ρ‚Π° Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΈ Ρ‚.Π΄. ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π½Π° 10.

ЖСсткиС ссылки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° нСсколько ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ доступ ΠΏΠΎ Π½ΠΈΠΌ осущСствляСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ быстро. ΠŸΡ€ΠΈ этом, Ссли ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ, Ρ‚ΠΎ сам Ρ„Π°ΠΉΠ» ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π΄Π°Π½Π½ΠΎΠ΅ имя Π±Ρ‹Π»ΠΎ послСдним, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠΌΠ΅Π½ Ρƒ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚.

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ имя Ρƒ Ρ„Π°ΠΉΠ»Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ссылку) ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ link(). Π•Π΅ синтаксис ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ symlink(), Π΄Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½Π° ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ создаСт Π½Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Π° ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ссылку.


readlink


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя основного Ρ„Π°ΠΉΠ»Π°.

Бинтаксис:

string readlink(string $linkname)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя основного Ρ„Π°ΠΉΠ»Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ связан Π΅Π³ΠΎ синоним $linkname. Π­Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ основноС имя Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сам Ρ„Π°ΠΉΠ», Π° Π½Π΅ ссылку Π½Π° Π½Π΅Π³ΠΎ. Π’ случаС ошибки функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "лоТь".


symlink


Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку.

Бинтаксис:

bool symlink(string $target, string $link)

Π­Ρ‚Π° функция создаСт ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку с ΠΈΠΌΠ΅Π½Π΅ΠΌ $link Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³), Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Π² $target. Π’ случаС "ΠΏΡ€ΠΎΠ²Π°Π»Π°" функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false.