1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 07:12:18 +01:00
Files
archived-doc-tr/reference/url/functions/parse-url.xml
2022-11-17 16:44:37 +03:00

309 lines
8.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 195fde0082f2771a210a2818d3d4fa09c7ee785d Maintainer: nilgun Status: ready -->
<refentry xml:id="function.parse-url" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>parse_url</refname>
<refpurpose>Bir URL'yi bileşenlerine ayırır</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>string</type><type>array</type><type>null</type><type>false</type></type><methodname>parse_url</methodname>
<methodparam><type>string</type><parameter>url</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>bileşen</parameter><initializer>-1</initializer></methodparam>
</methodsynopsis>
<para>
Bu işlev belirtilen URL'yi bileşenlerine ayırıp, bunları bir ilişkisel dizi
içinde döndürür. Dizi elemanlarının değerleri URL'nin kodu çözülmüş
bileşenleri <emphasis>değildir</emphasis>.
</para>
<para>
Bu işlev, bir URL doğrulayıcı olarak kullanılmamalıdır. Yaptığı sadece
URL'yi aşağıda belirtilen parçalara ayırmaktır. Kısmi ve geçersiz URL'ler de
kabul edilir. İşlev bunları en doğru şekilde bileşenlerine ayırmaya çalışır.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>url</parameter></term>
<listitem>
<para>
Ayrıştırılacak URL.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term><parameter>bileşen</parameter></term>
<listitem>
<para>
Belli bir URL bileşenini dizge olarak (dönüş değeri <type>int</type>
türünde olan <constant>PHP_URL_PORT</constant> dışında) döndürmek
isterseniz bu bağımsız değişkende şu sabitlerden birini belirtin:
<constant>PHP_URL_SCHEME</constant>,
<constant>PHP_URL_HOST</constant>,
<constant>PHP_URL_USER</constant>, <constant>PHP_URL_PASS</constant>,
<constant>PHP_URL_PATH</constant>, <constant>PHP_URL_QUERY</constant>,
<constant>PHP_URL_FRAGMENT</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Tehlikeli şekilde bozulmuş URL'lerde <function>parse_url</function> &false;
döndürebilir.
</para>
<para>
<parameter>bileşen</parameter> atlanırsa, en az bir elememanlı ilişkisel
bir dizi döner. Dizide bulunması olası anahtarlar şunlardır:
<itemizedlist>
<listitem>
<simpara>
<varname remap="structfield">scheme</varname> - http:// gibi
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">host</varname> - konak ismi
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">port</varname> - port
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">user</varname> - kullanıcı
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">pass</varname> - parola
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">path</varname> - dosya yolu
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">query</varname> - sorgu; bir soru
(<literal>?</literal>) iminden sonra.
</simpara>
</listitem>
<listitem>
<simpara>
<varname remap="structfield">fragment</varname> - örgü;
<literal>#</literal> iminden sonra
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
<parameter>bileşen</parameter> bağımsız değişkeni belirtilmişse işlev bir dizi
yerine bir dizge döndürür (dönüş değeri <type>int</type> türünde olan
<constant>PHP_URL_PORT</constant> belirtilmesi dışında). İstenen bileşen
belirtilen URL'de yoksa &null; döner. PHP 8.0.0 itibariyle,
<function>parse_url</function> eksik ve boş sorguları ve parçaları ayırt
etmektedir:
</para>
<para>
<informalexample>
<screen>
<![CDATA[
http://example.com/foo → query = null, fragment = null
http://example.com/foo? → query = "", fragment = null
http://example.com/foo# → query = null, fragment = ""
http://example.com/foo?# → query = "", fragment = ""
]]>
</screen>
</informalexample>
</para>
<para>
Evvelce tüm durumlar, sorgu ve parçanın &null; olmasıyla sonuçlanıyordu.
</para>
<para>
Bileşenlerdeki denetim karakterlerinin yerine alt çizgiler konur (bkz.
<function>ctype_cntrl</function>)
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<function>parse_url</function> artık eksik ve boş sorguları ve
parçaları ayırt ediyor.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- <function>parse_url</function> örneği</title>
<programlisting role="php">
<![CDATA[
<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(8) {
["scheme"]=>
string(4) "http"
["host"]=>
string(8) "hostname"
["port"]=>
int(9090)
["user"]=>
string(8) "username"
["pass"]=>
string(8) "password"
["path"]=>
string(5) "/path"
["query"]=>
string(9) "arg=value"
["fragment"]=>
string(6) "anchor"
}
string(4) "http"
string(8) "username"
string(8) "password"
string(8) "hostname"
int(9090)
string(5) "/path"
string(9) "arg=value"
string(6) "anchor"
]]>
</screen>
</example>
</para>
<para>
<example>
<title>- Eksik şemalı <function>parse_url</function> örneği</title>
<programlisting role="php">
<![CDATA[
<?php
$url = '//www.example.com/path?googleguy=googley';
// 5.4.7 öncesinde dosya yolu olarak "//www.example.com/path" gösterilirdi.
var_dump(parse_url($url));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(3) {
["host"]=>
string(15) "www.example.com"
["path"]=>
string(5) "/path"
["query"]=>
string(17) "googleguy=googley"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<caution>
<para>
Bu işlev göreli veya geçersiz URL'lerle doğru sonuç vermeyebilir ve
sonuçlar HTTP istemcilerin davranışlarıyla da eşleşmeyebilir. Güvenilmez
girdideki URL'lerin çözümlenmesi gerekirse, ek bir doğrulama gerekir.
Örnek: <function>filter_var</function> işlevinin
<constant>FILTER_VALIDATE_URL</constant> süzgeci ile kullanımı.
</para>
</caution>
<note>
<para>
Bu işlev URI'leri değil, özellikle URL'leri ayrıştırmak için
tasarlanmıştır. Ancak, PHP'nin geriye uyumluluğu için
<literal>file://</literal> şeması için istisnai bir durum olarak
<literal>file:///</literal> şemasına da izin verilir. Bunun dışındaki
şemalar için bu uygulama geçersizdir.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pathinfo</function></member>
<member><function>parse_str</function></member>
<member><function>http_build_query</function></member>
<member><function>dirname</function></member>
<member><function>basename</function></member>
<member><link xlink:href="&url.rfc;3986">RFC 3986</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->