1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 07:12:18 +01:00
Files
2021-04-27 18:22:19 +03:00

193 lines
4.5 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4754397753fd79f1c846868b66a2448babab1c54 Maintainer: nilgun Status: ready -->
<refentry xml:id="streamwrapper.dir-readdir" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>streamWrapper::dir_readdir</refname>
<refpurpose>Dizinden bir girdi okur</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier>
<type>string</type><methodname>streamWrapper::dir_readdir</methodname>
<void />
</methodsynopsis>
<para>
Bu yöntem <function>readdir</function> işlevine yanıtta çağrılır.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Varsa sonraki dosya ismini, yoksa &false; döndürmelidir.
</para>
<note>
<para>
Dönen değer <type>string</type> türüne dönüştürülür.
</para>
</note>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
&userstream.not.implemented.warning;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- Tar arşivindeki dosyaları listelemek</title>
<programlisting role="php">
<![CDATA[
<?php
class streamWrapper {
protected $fp;
public function dir_opendir($path, $options) {
$url = parse_url($path);
$path = $url["host"] . $url["path"];
if (!is_readable($path)) {
trigger_error("$path okunamıyor", E_USER_NOTICE);
return false;
}
if (!is_file($path)) {
trigger_error("$path bir dosya değil", E_USER_NOTICE);
return false;
}
$this->fp = fopen($path, "rb");
return true;
}
public function dir_readdir() {
// Bu girdi için başlığı çıkart
$header = fread($this->fp, 512);
$data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime",
$header);
// Dosya ismini ve dosya boyunu kırpalım
$filename = trim($data["filename"]);
// Dosya yok mu? Arşivin sonunda mıyız?
if (!$filename) {
return false;
}
$octal_bytes = trim($data["size"]);
// Dosya boyu sekiz tabanında tanımlı
$bytes = octdec($octal_bytes);
// tar dosya boylarını 512 baytın katlarına
// yuvarlar (sıfırlarla doldurur)
$rest = $bytes % 512;
if ($rest > 0) {
$bytes += 512 - $rest;
}
// Dosya üzerinde ilerleyelim
fseek($this->fp, $bytes, SEEK_CUR);
return $filename;
}
public function dir_closedir() {
return fclose($this->fp);
}
public function dir_rewinddir() {
return fseek($this->fp, 0, SEEK_SET);
}
}
stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
var_dump($file);
}
echo "Al baştan..\n";
rewind($handle);
var_dump(readdir($handle));
closedir($handle);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Al baştan..
string(13) "construct.xml"
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>readdir</function></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
-->