1 / 18

PHP-Dosya ve Dizinler

PHP-Dosya ve Dizinler. Internet Tabanlı Programlama Dr. E rman Yukselturk. Dosya Ayrıştırma. Bir yoldaki (path) dosya adını alma $yol = "/home/www/data/users.txt"; printf("Dosya Adı: %s <br />", basename($yol)); printf("Uzantı içermeyen dosya adı: %s <br />", basename($yol, ".txt"));

mostyn
Download Presentation

PHP-Dosya ve Dizinler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PHP-Dosya ve Dizinler Internet Tabanlı Programlama Dr. Erman Yukselturk

  2. Dosya Ayrıştırma Bir yoldaki (path) dosya adını alma $yol = "/home/www/data/users.txt"; printf("Dosya Adı: %s <br />", basename($yol)); printf("Uzantı içermeyen dosya adı: %s <br />", basename($yol, ".txt")); Bir yoldaki (path) dosya dizini alma printf("Klasör yolu: %s", dirname($yol)); //Klasör yolu: /home/www/data

  3. Dosya Ayrıştırma $yolBilgisi = pathinfo("/home/www/htdocs/book/chapter10/index.html"); printf("Dir name: %s <br />", $yolBilgisi['dirname']); printf("Base name: %s <br />", $yolBilgisi['basename']); printf("Extension: %s <br />", $yolBilgisi['extension']); Dosya Boyutu $dosya = "WinRAR_362_FULL_McyargiC.exe"; $bytes = filesize($dosya); $kilobytes = round($bytes/1024, 2); printf("%s dosyasi $bytes bytes, veya %.2f kilobytes veya %.2f megabytes.", basename($dosya), $kilobytes, round($kilobytes/1024, 2));

  4. Dosya Ayrıştırma Kalan alan hesaplama $dizin = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI"; printf("Hard diskte kullanmaya hazır alan= <b> %s</b>: %.2f MB", $dizin, round((disk_free_space($dizin) / 1048576), 2)); Toplam ve Kullanılan Alanı Bulma $kisim = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI"; // toplam kisim alanını bulma $toplamAlan = disk_total_space($kisim) / 1048576; // Kullanilan Alani Bulma $kullanilanAlan = $toplamAlan - disk_free_space($kisim) / 1048576; printf("kisim: <b>%s </b>(Ayrılan: %.2f MB. Kullanilan: %.2f MB.)", $kisim, $toplamAlan, $kullanilanAlan);

  5. function dizin_boyut($dizin) { $dizinboyut=0; // dizini aç ve içini oku if ($dh = @opendir($dizin)) { // her bir dizin içeriği için işleme devam et while (($dosyaAdi = readdir ($dh))) { // bazı istenmeyen dizin içeriklerini filtrele if ($dosyaAdi != "." && $dosyaAdi != "..") { // dosya ise boyutunu hesapla ve toplama ekle if (is_file($dizin."/".$dosyaAdi)) $dizinboyut += filesize($dizin."/".$dosyaAdi); // yeni dizin döngüyü tekrar çelıştır if (is_dir($dizin."/".$dosyaAdi)) $dizinboyut += dizin_boyut($dizin."/".$dosyaAdi); } } } @closedir($dh); return $dizinboyut; } #end dizin_boyut() $dizin = "C:\Program Files\EasyPHP5.3.0\www"; $toplamBoyut = round((dizin_boyut($dizin) / 1048576), 2); printf("dizin %s: %f MB", $dizin,$toplamBoyut);

  6. Ulaşım ve Değişim Bilgileri • En son erişilen zaman $dosya = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/sifreler.txt"; printf("Dosyaya en son erişilen zaman: %s", date("m-d-y g:i:sa", fileatime($dosya))); • En son (izinler, gruplar, erişim vb…)değiştirilen zaman (içerik değil) $dosya = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/sifreler.txt"; printf("Dosyada en son değişiklik yapılan zaman: %s", date("m-d-y g:i:sa",filectime($dosya)));

  7. Ulaşım ve Değişim Bilgileri • Dosyanın içeriğinin en son değiştiği zaman $dosya = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/sifreler.txt"; echo "Dosyanın içeriğinin en son değiştiği zaman ".date("m-d-y g:i:sa", filemtime($dosya));

  8. Dosyalarla çalışmak • Dosyada yeni satır karakterlerini tanıma // dosyayi okuma amaçlı açmak $fh = fopen("F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/sifreler.txt", "rt"); // dosyanin en sonuna ulaşmadan yeni satirlari almak while (!feof($fh)) echo "<br>".fgets($fh); // dosyayi kapatma fclose($fh);

  9. Dosyalarla çalışmak • Dosyaları değişik amaçlarla açma fopen("F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/sifreler.txt", "rt") r Sadece oku, gösterge en başa. r+yaz ve oku. gösterge en başa. w Sadece yazma, yazmadan önce içeriği temizle, göstergeyi en başa getir, dosya yoksa önce açmayı dene. w+yaz ve oku, yazmadan önce içeriği temizle, göstergeyi en başa getir, dosya yoksa önce açmayı dene. asadece yaz, gösterge en sonda, dosya yoksa açmayı dene, append (ekle) olarak da bilinir. a+oku ve yaz, gösterge en sonda, dosya yoksa açmayı dene, append (ekle) olarak da bilinir. bdosyayı binary modda açar. t dosyayı text formatında açar.

  10. Dosyalarla çalışmak • Dosyayı kapatma fclose($fh); • Dosyayı Bir Diziye Okuma // dosyayi dizeye ata $kullanicilar = file("sifreler.txt"); // dizinin içinde işlem yap foreach ($kullanicilar as $kullanici) { // satırları işle, Öğrenci no ve e-postalarını al list($ogrencino, $eposta) = explode(";", $kullanici); // $eposta'dan yeni satır karakterlerini kaldır $eposta = trim($eposta); // eposta adresi ve öğrenci numarasını istenilen biçimde düzenle echo "<a href=\"mailto:$eposta\">$ogrencino</a> <br /> "; }

  11. Dosyalarla çalışmak • Bütün Dosyayı Bir Stringe Atama // diziyi bir string değişkenine ata $kullaniciDosyasi= file_get_contents("sifreler.txt"); // kullanici dosyasinin her bir satırını diziye ata $Kullanicilar = explode("\n",$kullaniciDosyasi); // Dizi içinde işlemler foreach ($Kullanicilar as $kullanici) { // satırlardan ogrenci no ve eposta adreslerini al list($ogrno, $eposta) = explode(";", $kullanici); // Output the formatted name and e-mail address echo "<a href=\"mailto:$eposta\">$ogrno</a> <br />"; }

  12. Dosyalarla çalışmak • csv veri dosyalarını okuma // veri sayfasını aç $fh = fopen("notlar.csv", "r"); // her bir satırın ilk üç parçasını al while (list($ogrno, $adSoyad, $eposta) = fgetcsv($fh, 1024, ";")) { // html formatında ekrana yazdır printf("<p>%s (%s) E-posta= \"%s\"</p>", $adSoyad,$ogrno, $eposta); } csv dosyalarını diziye atama // veri sayfasını diziye aktar $fh = file("notlar.csv"); // her bir dizi elemanını işe foreach ($fh as $kullanici) { // Bher bir dizi elemanindan üç bilgi al list($ogrno, $adSoyad, $eposta) = explode(";", $kullanici); // veriyi html formatinda yazdir printf("<p>%s (%s); E-posta=\"%s\"</p>", $adSoyad, $ogrno, $eposta); }

  13. Dosyalarla çalışmak • Bir dosyanın içeriğini başka dosyaya aktarma // Dosyayi aç ve içerisindekileri oku $dizi = file("index.html"); //yeni dosya aç $fh = fopen("deneme.html", "wt"); foreach ($dizi as $satir) fwrite($fh, $satir); // dosyayi kapat fclose($fh); Dosyadaki Yeni Satırları Kaldırmak $dosya = "sifreler.txt"; // dosya'yı okumak için açar $fh = fopen($dosya, "rt"); // bütün dosyayi aktarir $kullaniciBilgileri = fread($fh, filesize($dosya)); // açılan dosyayi kapatir fclose($fh); echo $kullaniciBilgileri;

  14. Dosyalarla çalışmak • Dosyadaki karakter sayısını bulmak $dosya = "sifreler.txt"; // dosyanin boyu $bytes = readfile($dosya); echo $bytes; Veriyi istenilen biçimde okumak $fh = fopen("numaralar.txt", "r"); // her bir ayrımı belirle while ($kullanici = fscanf($fh, "%d %d %d %d %d")) { // her bir bölümü uygun değişkene ata list ($bolum1,$bolum2,$bolum3, $bolum4, $bolum5) = $kullanici; printf("Bölüm 1: %d Bölüm 2: %d Bölüm 3: %d Bölüm 4: %d Bölüm 5: %d<br />", $bolum1, $bolum2, $bolum3, $bolum4, $bolum5); } fclose($fh);

  15. Dosyalarla çalışmak • Yeni bilgi ekleme // sifreler dosyasına eklemek istediğimiz bilgiler $kullaniciBilgileri = "70228044;ercan@gmail.com"; // sifreler.txt dosyasini ac imleci en sona götür $fh = fopen("sifreler.txt", "at"); // veriyi yaz fwrite($fh, $kullaniciBilgileri); // dosyayı kapat fclose($fh); Yeni satıra eklemesini istersek ?? • Yeni bilgi ekleme // sifreler dosyasına eklemek istediğimiz bilgiler $kullaniciBilgileri = "70228044;ercan@gmail.com"; // sifreler.txt dosyasini ac imleci en sona götür $fh = fopen("sifreler.txt", "at"); // veriyi yaz fwrite($fh, $kullaniciBilgileri); // dosyayı kapat fclose($fh); Yeni satıra eklemesini istersek ??

  16. İmlecin Yerini Belirlemek int fseek(Dosya Tutucu, int sayi [, int whence]) whence değerleri SEEK_CUR: şu andaki pozisyonundan sayi kadar ileri SEEK_END: sayi – olmak durumunda. En sonuna kadar gidip o kadar karakter geri alıyor. SEEK_SET: sayi kadar ileri alıyor. Whence yazmasak da ayni işlemi yapıyor. int ftell(dosya tutucu): imlecin nerede olduğunu belirtiyor. int rewind(dosya tutucu): imleci en başa götürüyor

  17. Dosya İçeriklerini Okumak resource opendir(string path) void closedir(resource directory_handle) string readdir(int directory_handle) $dh = opendir('F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/'); while ($dosya = readdir($dh)) echo "$dosya <br />"; closedir($dh); $dh = opendir('F:\Program Files\EasyPHP5.3.0\www\BilgisayarI'); while ($dosya = readdir($dh)) if(($dosya != ".") AND ($dosya != "..")) echo "$dosya <br />"; closedir($dh); Diziye atama $dosyalar= scandir("F:\Program Files\EasyPHP5.3.0\www\BilgisayarI"); foreach ($dosyalar as $dosya) echo "<br>".$dosya;

  18. Dizin Silmek function dizin_Sil($dir) { if ($dh = opendir($dir)) { // dizin içerikleriyle çalışma while (($dosya = readdir ($dh)) != false) { if (($dosya == ".") || ($dosya == "..")) continue; if (is_dir($dir . '/' . $dosya)) dizin_Sil($dir . '/' . $dosya); else unlink($dir . '/' . $dosya); } closedir($dh); rmdir($dir); } } $dir = "F:\Program Files\EasyPHP5.3.0\www\BilgisayarI/deneme"; dizin_Sil($dir); Dosya Yeniden Adlandırma rename("deneme.html", "deneme2.html");

More Related