Ev - Bilgisayarlar
Php dosyadan ilk satırı okur. PHP: PHP dosyasını okuma
18.4K

Aslında bir php dosyasının nasıl açılacağı büyük bir sorun değildir. Ormanın ortasındayken bir şişe birayı açmak daha zor olabilir. Ancak yalnızca hevesli programcılar bu şekilde düşünür. Yeni başlayanlar için size PHP'nin dosyalarla çalışmaya yönelik tüm yeteneklerini anlatacağız:

php dosyaları

Php uzantılı dosyalar aynı isimli programlama dilinde yazılmış kodlar içerir. Diğer dillerden farklı olarak php, sunucu taraflı bir programlama dilidir. Yani sunucu tarafında çalışır. Bu nedenle, kodunda hata ayıklamak için istemci makineye yerel bir sunucunun kurulması gerekir.

Php dosyalarıyla çalışmak için şunu kullanın: özel uygulamalar– yazılım editörleri. En yaygın olanları şunlardır:

  • Dreamweaver.
  • PHPEdit.
  • Eclipse PHP Geliştirme.
PHP tabanlı siteler oluştururken birden fazla kullanım gerekebilir program kodu. Bu gibi durumlarda zaten bağlanmak uygundur hazır çözümler başka bir dosyada bulunur. Bunun için include yapısı kullanılır. Sözdizimi şöyledir:

dosya adını ekle

Bağlantı örneği:

Dahil edilen dosya:


Bir dosyanın dahil edilmesi require yapısı kullanılarak da mümkündür. Dahil etmenin aksine, program kodu yürütülmeden önce dosyayı içerir. Kodda require kullanıldığında bu dosyaya yalnızca bir çağrı yapılabilir. Tekrar erişildiğinde sistem genel bir hata mesajı görüntüleyecek ve programın yürütülmesini durduracaktır.

Include yapısı yalnızca programın yürütülmesi sırasında kaynağı içerir. Php dosyasının çoklu okunmasını destekler. Bir hata oluşursa yalnızca bir uyarı mesajı görüntülenecek ve kod yürütmeye bir sonraki satırdan devam edilecektir.

Dosyaları açma ve kapatma

Php'de dosyalarla yapılan tüm işlemler birkaç aşamada gerçekleştirilir:

  • Bir dosyayı açmak;
  • İçerik düzenleme;
  • Dosyayı kapatıyorum.

Fopen() fonksiyonu bir dosyayı açmak için kullanılır. Sözdizimi şöyledir:

int fopen(string dosya adı, string modu [, int use_include_path])

Kabul edilen argümanlar:

  • string dosya adı – dosya adı veya dosyanın mutlak yolu. Dosyanın yolu belirtilmezse geçerli dizinde aranacaktır. Aradığınız dosya eksikse sistem bir hata mesajı görüntüleyecektir. Örnek:

  • dize modu – dosya açma modunu gösterir. Argüman tarafından kabul edilen değerler:
  • r – dosya yalnızca okumak için açılır, dosya işaretçisi başlangıçta ayarlanır;
  • r+ – dosya okuma ve yazmaya açık;
  • w – yalnızca yazmak için yeni bir dosya oluşturur. Aynı adda bir dosya zaten mevcutsa içindeki tüm veriler otomatik olarak silinir;
  • w+ - yazma ve okuma için yeni bir dosya oluşturur. Böyle bir dosya mevcut olduğunda, yeni veriler onun verilerinin üzerine tamamen yazılır;
  • a – dosya yazmaya açıktır. İşaretçi sonunda ayarlanır. Yani php dosyasına yazmaya baştan değil sondan başlanacak;
  • a+ – bir dosyayı okuma-yazma modunda açar. Kayıt sondan başlayacaktır;
  • b – ikili veri içeren bir dosyayla çalışma modu (içinde İkili sistem hesaplama). Bu mod yalnızca işletim sistemi Pencereler.

Bir dosyaya erişimi kapatmak için fclose() işlevini kullanın. Sözdizimi:

int fclose (int dosyası), burada int dosyası kapatılacak sitenin tanıtıcısıdır.

Her okuma veya yazma işleminden sonra dosyanın bu fonksiyonla kapatılması gerekir. Aksi takdirde dosya için oluşturulan akış açık kalır. Bu da gereksiz sunucu kapasitesi tüketimine yol açmaktadır.

Örnek:

Dosyaları okuma ve yazma

Bir dosyanın tüm içeriğini basitçe görüntülemek için readfile() işlevi idealdir. Sözdizimi şöyledir:

readfile (string filename) ; burada dize dosya adı dize dosya adıdır (bir tanıtıcı değil).


Aynı dosya fpassthru() işlevi kullanılarak okunabilir. Verileri uç işaretçi konumundan dosyanın sonuna kadar okur. Sözdizimi şöyledir:

int fpassthru (int dosyası)

İşlev, bir dosyanın açılıp kapatılmasını gerektirir. Örnek:

Sonuç bir öncekine benzer.

Php'deki dosyalarla çalışma işlevleri, içeriği satır satır ve karakter karakter okumanıza olanak tanır:

  • string fgets (int dosyası, int uzunluğu)– fonksiyon uzunluk uzunluğunda bir dize okur. Örnek:

  • string fread (int dosyası, int uzunluğu)– eylem öncekiyle aynıdır.

Bir dosyaya metin verisi yazmak için iki özdeş işlev vardır:

  • int fputs (int dosyası, string string [, int uzunluk])
  • int fwrite(int dosyası, string string [, int uzunluk ])

İşlevler bir dosya int dosyasına belirtilen uzunlukta bir dize dizesi yazar int uzunluk ( isteğe bağlı argüman). Örnek:

Dosya oluşturma ve silme

Bir php dosyası oluşturmak için fopen() fonksiyonunu "w" veya "w+" erişim modunda kullanabilirsiniz. Veya touch() işlevi. Dosya değişiklik zamanını ayarlar. Aranan isimde eleman yoksa oluşturulacaktır. Sözdizimi.

PHP'de genellikle bir dosya oluşturmakla uğraşmak zorunda kalırsınız... çok basit: diskte dosya yok, kod çalıştırıldı ve dosya belirdi, sonra bu dosyayı başka bir değişkene veya hatta herhangi bir sayfaya okuyabilirsiniz. İnternete girin ve sonra oraya bir şeyler yazın... ancak bunun için özel işlevleri bilmeniz gerekir... bunun hakkında daha fazla bilgiyi bu makalede bulabilirsiniz...

PHP'de yürütülebilir bir komut dosyasında bir dosya oluşturmak için birkaç işlevi belirtmeniz yeterlidir:

Bir örneğe bakalım:

$text = "Dosyaya yazılacak bir tür metin";
$fp = fopen("dosya.txt", "w");
fwrite($fp, $metin);
fclose($fp);
?>

Burada bilmelisin:

fopen()- işlev, dosyayı okumak veya yazmak ve açıklamalar için açar;

Bu açıklama (fopen fonksiyonunun mod parametresi) çok önemlidir:

  • "R" - php'de bir dosya açın Sadece okumak için. İmleç başlangıca yerleştirilir.
  • "r+" - php'de bir dosya açın okumak ve yazmak için. İmleç başlangıca yerleştirilir. !!! - bu iki mod r ve r+ ile dosyaların önceden oluşturulmuş olması gerekir (aksi takdirde bir hata görünecektir) Uyarı: fopen(file.txt): akışı açamadı: İçinde böyle bir dosya veya dizin yok ...) ve sadece okuyoruz veya ekleme fırsatımız var.
  • "w" - dosya SADECE yazmak için açılır. Dosya sıfır uzunlukta kesilir - yani üzerine yazılır. İhtiyaç duyulan şey yazılır ve İmleç başlangıca yerleştirilir.
  • "w+" - yazmak VE OKUMAK için bir dosya açar! Gerisi "w" modundakiyle aynıdır. !!! - bu iki modda - eğer dosya oluşturulmamışsa - ONU OLUŞTURMAK İÇİN GİRİŞİM YAPILACAKTIR!
  • "A" - dosyayı YALNIZCA yazmak için aç. "w"den farklı olarak, bu seçenek dosya içeriğinin üzerine yazmaz, imleci satırın sonuna yerleştirir ve eklemek istediğimiz içeriği sona ekler.
  • "a+" - dosyayı yazmak ve okumak için açın.

fyaz($fp, $text) - PHP'de bir dosyaya yazmak için kullanılan bir işlev - yani, $text değişkenindekiler, $fp değişkenindeki bir dosyaya yazılır;

fclose($fp) - $fp değişkenine yazdığımız dosyayı kapatma işlevi;

Artık php'de kolayca doğru şekilde dosya oluşturabilir, bunları okumak ve düzenlemek için açabilirsiniz.

Açık bir dosyayla çalışmak için faydalı PHP eklentileri ve işlevleri:

while(!feof($fp))(
$metnim = fgets($fp, 99);
echo $metnim."
";
}

burada koşul karşılanıyor - "dosyanın sonuna ulaşılana kadar bunu yapın" while(!feof($fp))

1. İşlev fgets($fp, 99) - tüm içeriği 99 baytlık bölümlere ayırmanıza olanak tanır ve bunu daha net görmek için bir etiket yerleştiririz

Bu dize işlevi fgets(resource tanıtıcısı [, int uzunluk]) varsayılan olarak uzunluk parametresi olarak 1024 bayt (1 kilobayt) kabul eder, belirtilmezse öyle olacaktır. Bu parametre PHP 4.2.0'dan itibaren isteğe bağlıdır (Hata durumunda FALSE değerini döndürür)

Dosya açma, yazma ve oluşturmaya yönelik ek işlevler

İşlev - int okuma dosyası(string dosya adı [, bool use_include_path [, kaynak bağlamı]]) - dosyayı bir bütün olarak okuyun.

Bir dosyayı okur ve içeriğini çıktı arabelleğine yazar. Ve çıktının bayt sayısını döndürür. Bir hata durumunda, köpek kullanılmazsa geri dönecektir - @readfile.

Bunun gibi bir şey olacak:

Kelimenin sonunda bir etiket var
.

B. İşlev - dizi dosya(string dosyaadı [, int use_include_path [, kaynak bağlamı]]), readfile işleviyle aynı şeyi yapar, bir istisna dışında dosyanın içeriğini bir diziye ekler:

Bu şekilde İnternet'teki herhangi bir sayfayı okuyabilirsiniz: $lines = file("http://site/"); ve foreach işlevini kullanarak diziyi yineleyin;

3 A. dize işlevi file_get_contents(string dosya adı [, bool use_include_path [, kaynak bağlamı [, int offset [, int maxlen]]]] - içeriği tek bir dize olarak almanızı sağlar.

Bu, dosya işlevine benzer şekilde, bir dosyayı okumak için daha evrensel bir PHP işlevidir, yalnızca içerik bir dizi olarak değil, bir dize olarak döndürülür ve koşulları (hangi baytla başlayacağınızı) ayarlayabilirsiniz. telafi etmek ve nerede bitmeli - maxlen. Başarısızlık durumunda FALSE değerini döndürür.

Önemli!!!- bu durumda fonksiyon aynı anda 3'ün yerini alır: fopen(), fread() ve fclose() ve böylece işaretten kurtulur.

3b. int işlevi file_put_contents(string dosya adı, karışık veri [, int flags [, kaynak bağlamı]]) - fopen(), fwrite() ve fclose() işlevlerine yapılan sıralı çağrılarla aynıdır - yazılan bayt sayısını döndürür.

sicim fgets(kaynak tanıtıcısı [, int uzunluk])

Tanıtıcı ile gösterilen dosya tanımlayıcıdan okunan uzunluğu 1 bayt olan bir dize döndürür. Okuma, okunan bayt sayısı uzunluğa - 1 ulaştığında, satırın sonuna ulaştığında (dönüş değerine dahil edilir) veya dosyanın sonuna ulaştığında (hangisi önce gelirse) sona erer. Uzunluk belirtilmezse varsayılan olarak 1 kilobayt veya 1024 bayt olur.

Bir hata oluşursa işlev geri döner YANLIŞ .

En yaygın hatalar:

"C" fonksiyonlarının semantiğine alışkın programcılar fgets(), dosya sonu (EOF) bayrağının döndürülme şekli arasındaki farkı dikkate almalıdır.

Dosya işaretçisi geçerli olmalı ve işlevler tarafından başarıyla açılan bir dosyayı işaret etmelidir. fopen() veya fsockopen() .

Aşağıda basit bir örnek verilmiştir:


Örnek 1. Bir dosyayı satır satır okuma

$tanıtıcı = fopen("/tmp/inputfile.txt", "r");
while (! feof ($tutucu )) (
$tampon = fgets($tanımlayıcı, 4096);
echo $arabellek;
}
fclose($tanımlayıcı);
?>

Yorum: Uzunluk parametresi PHP 4.2.0 sürümünden itibaren isteğe bağlı hale geldi. Bu parametre atlanırsa dizenin uzunluğunun 1024 olduğu varsayılır. PHP 4.3'ten itibaren uzunluk parametresinin atlanması akışın dizenin sonuna kadar okunmasına neden olur. Dosyadaki satırların çoğu 8 kilobayttan uzunsa, betiğin kullandığı kaynaklara ilişkin en verimli karar, maksimum satır uzunluğunu belirlemektir.

Yorum: Bu işlev PHP 4.3'ten itibaren ikili verileri doğru şekilde işleyebilir. Daha ilk versiyonlar bu işlevselliğe sahip değildi.

PHP, programlama dillerinden çok daha sonra ortaya çıktı ve konumlarını güçlendirdi ve sözdizimi, mantık, değişkenler ve diğer program nesneleri hakkında genel fikirler formüle etti. Dosyalar ve onlarla çalışma işlevleri ilerleme kaydetmedi ve doğal nedenlerden dolayı ortaya çıkan dosya kodlama sorunu bile kökten yeni çözümlere yol açmadı.

Genel açıklamalar

Dosyalar ne olursa olsun, ana çalışma açma, okuma/yazma ve kapatmadan oluşur. İşlenirken bir dosyaya erişimi engelleme/engellemeyi kaldırma işlevlerini kullanabilirsiniz, dosyadaki okuma/yazma konumunu ayarlayabilirsiniz - her şey uzak geçmişte olduğu gibi aynıdır.

PHP'de önemli bir nokta, dosyalarla çalışmaya yönelik işlevlerin ve bunları kullanma seçeneklerinin çokluğudur. Pratikte basit ama çalışan seçenekleri kullanmak yeterlidir. Bir dosya her şeyden önce program belleğidir. İçinde bilgi saklayabilirsiniz. Herhangi bir programın, herhangi bir web sitesinin amacı bilginin sunulması, işlenmesi ve güvenliğinin sağlanmasıdır.

Temel durum

Daha önce, en azından aşağıdan yukarıya uyumluluk gereksinimi sarsılmazdı. Yani, bir programlama dilinin bir sürümünde yazılan bir program, bir sonraki sürümde ideal olarak derlenir/yorumlanır. Modern programlamada durum böyle değildir. Bir dilin sözdizimsel yapılarının uyumluluğu gereksinimi tarih oldu ve stiller ile programlama araçları ile belirli araçların versiyonları arasındaki mücadele hayatlarının normu haline geldi.

Dosyalarla ve veritabanlarıyla çalışmak site arayüzü kadar önemlidir. Birincisi, platformu, barındırmayı veya dil sürümünü değiştirirken site kodunu değiştirmeye gerek kalmayacak şekilde oluşturulmalıdır. Dosyalarla çalışmaya yönelik arayüz ayrı bir komut dosyasına dahil edilmeli ve tam uyumluluk sağlamalıdır; tıpkı site tasarımının herhangi bir cihaza, tarayıcıya yeterince uyum sağlaması ve sitenin geri kalan işlevselliğini aynı yeteneklerle sağlaması gerektiği gibi.

Okuyun ve kendinizi değiştirin

Bir program kendini değiştirebilir mi, yani bir script gelişebilir mi? Bu soru bugüne kadar pek çok kişinin ilgisini çekiyor. Ancak görev çok daha pratik görünüyor: PHP okuma PHP dosyası. Bir geliştirici her zaman belirli bir sorunu belirli bir kod yazarak çözemez. Bazen bir ziyaretçi siteye geldiğinde ve geliştirme aşamasında öngörülmeyen bir soruyu formüle ettiğinde bunu değiştirmek gerekebilir.

Diğer tüm durumlarda olduğu gibi öncelikle dosyayı açmanız gerekir. Bu dosyanın var olup olmaması önemli değil. Dosyanın var olduğu biliniyorsa (file_exists() işlevi olumlu yanıt verir), fopen() işlevi 'r', 'r+', 'a', 'a+' erişimiyle kullanılır. Dosya henüz mevcut değilse 'a', 'a+', 'w', 'w+' erişimine sahiptir. Bir dosyayı açmanın sonucu onun tanımlayıcısı olacaktır. Dosya fclose() işleviyle kapatılır.

Okuma sırasında işleme gerek olmadığında, bir dosyayı diziye okumak için PHP'yi kullanmak uygundur.

if (file_exists($fName)) (

$aLines = dosya($fİsim)

Bu seçenekte dosyanın her satırı sırayla dizi öğesine gider. file() veya file_get_contents() işlevlerinin dosyayı açıp kapatmasına gerek olmadığı unutulmamalıdır.

Giriş dosyası çok büyük olduğunda ve az miktarda bilgi bulmanız gerektiğinde veya başka nedenlerden dolayı dosyayı satır satır okumak için PHP'yi kullanabilirsiniz. PHP bunu fgets() ve fgetc() işlevleriyle yapma olanağı sağlar.

$fvs = fopen($fİsim, "r")

while ((false !== ($cLine = fgets($fvs, 2000)))) (

$cLines .= "
" . $i . "). " . $cLine

Her iki seçenek de kusursuz çalışıyor. Ancak, daha sonra değişiklik yapmak üzere bir PHP dosyasının PHP okumasını gerçekleştirirken önlemler alınmalıdır. Bir ziyaretçinin site geliştirme aşamasında nasıl kullanacağını öngörmek her zaman mümkün olmamaktadır. Komut dosyalarının sitenin işlevleri dahilinde değiştirilmesi ve bu değişikliğin kontrolünün kaynak yöneticisi de dahil olmak üzere ziyaretçinin elinde olmaması daha iyidir.

Sonuçlar kaydediliyor

Alınan ve güncellenen bilgiler, fputs() fonksiyonu tarafından satır satır veya file_put_contents() fonksiyonu tarafından bir bütün olarak dosyaya yazılır.

$fName = $_SERVER["DOCUMENT_ROOT"] . "/tmp/scData.php"

$fvs = fopen($fİsim, "a")

sürü($fvs, LOCK_EX)

$cLine = "1 satır". Chr(10)

fputs($fvs, $cLine)

$cLine = "2 satır" . Chr(10)

fputs($fvs, $cLine)

sürü($fvs, LOCK_UN)

Satır satır kayıt seçeneğinde, kayıt işlemi sırasında verileri değiştirebilirsiniz; ikinci durumda, yazılan dize veya dizi dosyanın tamamına yerleştirilir.

$dosya = " scData.php "

$cContents = file_get_contents($dosya)

//giriş ekleme

$cContents .= "yeni giriş\n"

// dosyayı geri yaz

file_put_contents($dosya, $cİçerikler)

PHP dosyalarını okumak ve yazmak kolay ve doğaldır. Ancak şunu akılda tutmak önemlidir: her dosyanın bir adı, uzantısı ve yolu (klasörü) vardır. Bir PHP betiğinin dosyaları okuyabilmesi ve yazabilmesi için bu betiğin uygun haklara sahip olması gerekir. Barındırmada otomatik olarak gösterilirler, ancak bazı durumlarda genişletilmeleri gerekir.

Bazı durumlarda sonuçların test okuması yapılarak doğrulanması istenebilir. PHP dosyalarının yazılması, geliştirme sırasında bunu gerektirir, ancak bazı durumlarda site güvenliği veya güvenilirliği açısından veri kaydının kontrol edilmesi önemlidir.

PHP, MySQl, JavaScript ve özellikle tarayıcıların karakteristik bir özelliği: bazı hataların oluşmasına sessizce izin vermek. "Tanınmadı, yapılmadı..." - ön saflarda pek iyi bir uygulama değil Bilişim Teknolojileri ancak bu, geliştiricilere hata yapmamalarını ve temiz, yüksek kaliteli kod yazmalarını öğretir ki bu da fena değildir.

PHP ve gerçek belgelerle çalışma

PHP'nin bir PHP dosyasını okuması kesinlikle pratik açıdan ilgi çekicidir, ancak bu programlamanın alanıdır. Kullanıcı ve site ziyaretçisi, özellikle *.xlsx ve *.docx dosya formatlarında tablolar ve belgeler biçiminde görmeye alışkın olduğu uygulamalı nitelikteki bilgilerle ilgilenmektedir. Bunlar MS Excel ve MS Word formatındaki dosyalardır.

Malların, fiyatların, özelliklerin listeleri genellikle tablolar şeklinde oluşturulur, bu nedenle PHP okuması Excel dosyası büyük önem taşıyor.

PHPExcel ve PHPWord kütüphaneleri bu tür dosyalarla çalışacak şekilde geliştirilmiştir. Ancak *.xlsx ve *.docx dosyalarının içerikleri OOXML standardında sunulmaktadır, yani gerçek, anlaşılır belge zip arşivinde sunulmaktadır. Zip arşivi- bunlar resimler, nesneler, formüller ve diğer programlardan ekler dahil olmak üzere çok sayıda dosyadır. Buradaki metin dosyaları, etiket biçimindeki açıklamalarla temsil edilir. Böyle bir dosyayı okumak yeterli değildir; kullanım ve değişiklik için içeriği ve yapıyı elde etmek için onu ayrıştırmanız gerekir.

Bu, okuma işleminin arşiv açma işlemine dönüşmesi anlamına gelir. Bu kütüphaneler belge arşivini bağımsız olarak açar ve geliştiriciye bu tür belgeleri okumak, işlemek ve yazmak için kapsamlı işlevler sağlar.

Excel tabloları

include_once 'PhpOffice/PhpExcel/IOFactory.php'

function scGetExcelFile($xls)(

$objPHPExcel = PHPExcel_IOFactory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

//bu dizi dizi dizilerini içeriyor

$aSheet = $objPHPExcel->getActiveSheet()

$dizi = dizi()

//tedavi

foreach($aSheet->getRowIterator() as $row)(

$cellIterator = $row->getCellIterator()

foreach($cellIterator as $cell)(

array_push($item, iconv("utf-8", "cp1251", $cell->getCalculatedValue()))

array_push($dizi, $öğe)

Excel dosyalarını okumak ve işlemek çok daha zordur Word belgeleri. En iyi seçenek Uygulamalı bilgileri okumak ve işlemek için ciddi bir proje uygulamanız gerekiyorsa, öncelikle PHPWord kütüphanesinde uzmanlaşın. Bu verecek iyi deneyim ve konunun ayrıntılarına hızlı bir giriş.

Word Belgeleri

Sadece iki satır:

$oWord = new \PhpOffice\PhpWord\PhpWord()

$oDocx = $this->oWord->loadTemplate($cFileName)

$cFileName belgesi artık işlenmeye hazır. Daha sonra arşiv açılır, web sitesinde görüntülenebilen, değiştirilebilen ve geri yazılabilen içerikleri seçilir ve analiz edilir.

$zipClass = yeni ZipArchive()

$zipClass->open($this->tempFileName)

// belgenin tüm içeriğini oku

için ($i=0; $i<$zipClass->numFiles; $i++) (

$cNameIn = $zipClass->getNameIndex($i)

$cNameInExt = substr($cNameIn, -4)

if (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// ".xml" ve ".xml.rels" uzantılı dosyalar belge tablosuna kaydedilir

// her xml satırı benzersiz bir sayı ile sırayla yazılır

$cBodyIn = $zipClass->getFromName($cNameIn)

$cBodyInLen = strlen($cBodyIn)

// diğer tüm dosyalar olduğu gibi belge klasörüne yazılır

$cNameOnly = substr($cNameIn, strrpos($cNameIn, "/") + 1)

$zipClass->getFromName($cNameIn, $cWorkPath); // dosya olarak içerik

Ne zaman açılacak fırsatlar PHP yardımı Excel ve PHP Word, gerçek belgeleri değiştirmenize ve içeriklerini istediğiniz zaman alakalı hale getirmenize olanak tanır. Günümüzün dinamik dünyasında bu çok önemli hale geliyor. Ağırlık merkezi çoktan değişti yerel kullanım bilgisayar ekipmanı sanal İnternet alanına. Bu nedenle, yerel Microsoft ürünlerinde tablolar ve belgeler oluşturmak, yalnızca tablonun veya belgenin yaratıcısının değil aynı zamanda tüketicilerinin de erişebileceği bir web sitesinde bu tür belgelerle otomatik ve yarı otomatik modda çalışmaktan daha az verimlidir.

Metin dosyaları, başka bir hayat

İlk yaklaşıma göre metin dosyaları PHP dosyalarından veya uygulama belgelerinden daha basittir. Ancak burada düşünülmesi gereken bir şey var. Bu tür dosyaların okuma/yazma işlemleri yukarıda zaten belirtilmiştir ancak bu tür dosyaların anlamı çok daha önemlidir.

İstemci ve sunucu diye bir veri mevcut olduğundan (birincisi JavaScript'in hakimiyetindedir, ikincisi ise PHP'nin hakimiyetindedir), çerez ve oturum mekanizmaları bile komut dosyaları, sayfalar veya belirli işlemler arasında bilgi aktarma ihtiyacını karşılayamaz.

İstenilen değişiklikleri veritabanına yansıtmak mümkündür ancak tüm avantajları ve hızları nedeniyle, küçük geçici veya kalıcı metin dosyaları bilgi aktarımı için çok daha ilginç bir seçenek olabilir. Çok sayıda küçük dosya oluşturmuyorsanız ve bunların boyutlarını kontrol etmiyorsanız, bunlar veritabanının spesifik ve daha esnek bir versiyonu olabilir.

PHP bir metin dosyasını okumak hızlıdır, anında bir yapıya, diziye veya nesneye ayrıştırılabilir. İkincisi çok önemlidir, çünkü ayrılan zamanın dışında yaşayan nesneler yaratmanıza olanak tanır. PHP betiği, bildiğiniz gibi, yalnızca sunucuda var olabilir ve yalnızca sayfa yüklendiğinde bir AJAX yanıtı oluşturulur veya başka bir nedenden dolayı PHP yorumlayıcısının başlatılmasına neden olur.

Bir metin dosyasının geliştiricinin içeriği ve yapısı olduğunu düşünürseniz, bir PHP dosyası yorumlayıcının sözdizimi artı geliştiricinin mantığıdır ve html, css, xml "etiketli" açıklamalar daha anlamsal öğelerdir, ancak düzenlenmiştir Statik standartlara göre. Dosyaların yeni içerik edinme zamanının muhtemelen geldiği ve bunların kalitesini ve kullanım mantığını bunun belirlemesi gerektiği sonucuna varılabilir. Tam da programlamanın, gelişiminin bir sonraki aşamasına henüz hazır olmaması nedeniyle, bugün dosyalar yalnızca geliştiricinin oluşturduğu ve kullanımlarını belirlediği dosyalar olarak kalır.

En ilginç ve gelecek vaat eden şey, ihtiyaç duyulduğunda PHP'nin bir PHP dosyasını bağımsız olarak okumasıdır. Ve basit bir PHP'nin bir dosyadan bir satırı okuması, en azından kaydedildiği durumda bir nesnenin yaratılmasıyla sonuçlanır. Bunlar tümüyle tanıdık fikirler değil ama modern dünya her şey çok çabuk değişiyor.

PHP

file_exists("test.txt")//Dosya mevcut mu? dosya boyutu("test.txt");//Dosya boyutunu bulun //Zaman damgası döndürülür: fileatime("test.txt");//Dosyaya son erişim tarihi //date("d M Y" , $zaman); filemtime("test.txt");//Dosyanın değiştirilme tarihi //date("d M Y", $mtime); filectime("test.txt");//Dosya oluşturma tarihi (Windows) //date("d M Y", $ctime);

Dosyalar: çalışma modları

PHP

kaynak fopen (dize dosya adı, dize modu) // kaynak - başarılı olması durumunda dosyaya bir işaretçi döndürür veya hata durumunda FALSE döndürür
Çalışma modu Tanım
R dosyayı salt okunur olarak aç;
r+ dosyayı okumak ve yazmak için açın;
w dosyayı yalnızca yazmak için açın. Varsa, dosyanın mevcut içeriği yok edilir. Geçerli konum başlangıca ayarlanmıştır;
w+ dosyayı okumak ve yazmak için açın. Varsa, dosyanın mevcut içeriği yok edilir. Geçerli konum başlangıca ayarlanmıştır;
A dosyayı yazmak için açın. Geçerli konum dosyanın sonuna ayarlanır;
a+ dosyayı okumak ve yazmak için açın. Geçerli konum dosyanın sonuna ayarlanır;
B ikili dosyayı işleyin. Bu bayrak, Windows'ta ikili dosyalarla çalışırken gereklidir.

PHP'de dosyaları açma ve kapatma

PHP

$fi = fopen("test.html", "w+") veya die("Hata"); //Örnekler $fi = fopen("http://www.you/test.html","r"); $fi = fopen("http://ftp.you/test.html", "r"); //fclose($fi)'yi kapat

PHP'de dosyaları okuma

PHP

//Dosyayı okuyun fread(int fi, int uzunluk) $str = fread($fi, 5); // İlk 5 karakteri oku echo $str; // imleç hareket ettiği için $str = fread($fi, 12); // Sonraki 12 karakteri oku echo $str; fgets(int fi[, int uzunluk]) // Bir dosyadan bir satır okuyun fgetss(int fi, int uzunluk [, string izin verilen]) // Bir dosyadan bir satır okuyun ve HTML etiketlerini atın // string izin verilebilir - etiketler bırakılması gerekiyor fgetc(int fi) //Dosyadan bir karakter okur

Başlangıçta, yazma işlemi, varsa mevcut verilerin üzerine yazılarak dosyanın başında gerçekleşir. Bu nedenle dosyanın sonuna bir şey yazmanız gerekiyorsa uygun olanı ayarlamanız gerekir. okuma moduörneğin a+ .

PHP dosyalarında imleç manipülasyonu

PHP

int fseek(int fi, int offset [, int Wherece]) //İmleci ayarlama // int fi - dosya işaretçisi //offset - taşınacak karakter sayısı. //nereden: //SEEK_SET - hareket dosyanın başından başlar; //SEEK_CUR - hareket mevcut konumdan başlar; //SEEK_END - hareket dosyanın sonundan başlar. fseek($fi, -10, SEEK_END); //Son 10 karakteri oku $s = fread($fi, 10); $konum = ftell($fi); //Geçerli konumu bul rewind($f)//imleci sıfırla bool feof($f) //dosya sonu

PHP'de dosyalarla (verilerle) doğrudan çalışma

PHP

dizi dosyası(string dosya adı) // Dosyanın içeriğini dizi biçiminde alın // Verilerle doğrudan çalışmak için başka bir seçenek file_get_contents(string dosya adı) // Okuma (dosyanın tamamını tek satırda alma) // Yazma dosya (başlangıçta üzerine yazılmıştır) file_put_contents(string dosya adı, karışık veriler[,int flag]); //FILE_APPEND // Dosyanın sonuna yaz: file_put_contents("test.txt", "data", FILE_APPEND); //Eğer bir dizi yazarsanız, $dizi = dizi("I", "canlı"); file_put_contents("test.txt",$array); //sonra "Ilive" elde ederiz

Php'de dosyaları yönetme

PHP

copy(string kaynağı, string hedefi); // Dosyayı kopyalıyoruz rename(str eskiisim, str yeniisim); // Dosyayı yeniden adlandırın unlink(string dosya adı); // Bir dosyayı silme

Dosyaları PHP sunucusuna yükleme

//PHP.ini ayarları file_uploads (açık|kapalı) // dosya yüklemeye izin verir veya vermez upload_tmp_dir // yüklenen dosyalar için geçici klasör. varsayılan olarak geçici klasör upload_max_filesize (varsayılan = 2 Mb) // maks. dosya boyutunu yükle post_max_size // gönderilen formun toplam boyutu (upload_max_filesize'dan büyük olmalıdır) // Basit yükleme

HTML

Sunucudaki dosyalarla çalışma

PHP

//Verileri kabul et $tmp = $_FILES["kullanıcıdosyası"]["tmp_name"]; $isim = $_FILES["kullanıcıdosyası"]["isim"]; //Dosyayı taşı move_uploaded_file($tmp, name); move_uploaded_file($tmp, "upload/".name); // dosyayı yükleme klasörüne yönlendirin // geçerli dosyaya göre // $_FILES dizisinde neler var $_FILES["kullanıcı dosyası"]["ad"] // dosya adı, örneğin test.html $_FILES[ "kullanıcıdosyası"]["tmp_adı"] // geçici dosya adı (yol) $_FILES["kullanıcıdosyası"]["boyut"] // dosya boyutu $_FILES["kullanıcıdosyası"]["tür"] // dosya türü $ _FILES["kullanıcı dosyası"] ["hata"] // 0 - hata yok, sayı - evet

 


Okumak:



MTS güven ödemesi nedir?

MTS güven ödemesi nedir?

Abonelere borç verme hizmetleri şu anda neredeyse tüm cep telefonu şirketleri tarafından sağlanmaktadır. İhtiyaç...

Aeroflot Bonus programı: nasıl mil biriktirilir ve bunları neye harcayabilirsiniz?

Aeroflot Bonus programı: nasıl mil biriktirilir ve bunları neye harcayabilirsiniz?

Aeroflot, Rus sivil havacılığının lideridir. Ulusal hava taşıyıcısına eşdeğerdir. Şirket 1923 yılında kuruldu ve...

Bilgisayarınızda hangi sürücünün olduğunu nasıl öğrenebilirim: SSD veya HDD Bilgisayarınızda hangi SSD'nin olduğunu nasıl öğrenebilirim?

Bilgisayarınızda hangi sürücünün olduğunu nasıl öğrenebilirim: SSD veya HDD Bilgisayarınızda hangi SSD'nin olduğunu nasıl öğrenebilirim?

Bu yazıda katı hal sürücülerin temel özelliklerini nasıl bulacağınızı ve bunları nasıl test edeceğinizi öğreneceksiniz. Bu operasyon için...

Fraktal Tasarımın Test Edilmesi R5'i Tanımlayın Fraktal Tasarım R5'i Tanımlayın - Sessiz, ferah

Fraktal Tasarımın Test Edilmesi R5'i Tanımlayın Fraktal Tasarım R5'i Tanımlayın - Sessiz, ferah

İlk kişisel bilgisayarların ortaya çıkmaya başladığı dönemde üreticiler görünüşlerine neredeyse hiç dikkat etmiyorlardı. Daha sonra buna ihtiyaç duyuldu...

besleme resmi RSS