国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php PHP編程中八種常見的文件操作方式_PHP教程

PHP編程中八種常見的文件操作方式_PHP教程

Jul 21, 2016 pm 04:00 PM
php atasan dan berurusan dengan biasa beroperasi dokumen Cara ya pelayan tempatan daripada Jadual kandungan pengaturcaraan

文件和目錄的操作
PHP處理本地服務(wù)器上的文件和目錄是非常方便的,但有時候會出現(xiàn)權(quán)限和路徑相關(guān)的問題
1.打開文件
resource?fopen?(?string?filename,?string?mode?[,?bool?use_include_path?[,?resource?zcontext]]?)
$handle?=?fopen(filename,mode)//打開文件,返回代表此文件的資源的句柄
文件名稱可以使用相對路徑或者絕對路徑也可以使用網(wǎng)絡(luò)協(xié)議模式,打開模式具有r\r+\w\w+\a\a+\x\x+\b
在操作二進制文件時如果沒有指定?'b'?標(biāo)記,可能會碰到一些奇怪的問題,包括壞掉的圖片文件以及關(guān)于?\r\n?字符的奇怪問題。
為移植性考慮,強烈建議在用?fopen()?打開文件時總是使用?'b'?標(biāo)記。
以下是幾種打開文件的方式
$fp?=?@fopen('log.txt',"rb");
$fp?=?@fopen('../log.txt',"rb");
$fp?=?@fopen("http://www.runer.com.cn/default.htm","rb");//還可以使用ftp和ghoper等協(xié)議,必須啟用php.ini文件中的allow_url_fopen選項
////////////////////////////代碼部分////////////////////////////////////////
$filename1?=?"userinfo.txt";//目錄下或include_path中存在這個文件
$filename2?=?"test.txt";//目錄下或include_path并不存在這個文件
$resource1?=?fopen($filename1,"rb");
@$resource2?=?fopen($filename2,"rb");//因為目錄中不存在這個文件,并且并未使用或include_path尋找包含文件所在路徑則此操作會報錯,使用錯誤抑制符@可以迫使瀏覽器不輸出錯誤信息
if($resource1)
echo?"打開文件{$filename1}成功";
if(!@fopen($filename2,"r"))
echo?"打開文件{$filename2}不成功";
//////////////////////////////////////////////////////////////////////////
---------------------輸出結(jié)果----------------------------------------
打開文件userinfo.txt成功

---------------------------------------------------------------------
2.使用完畢文件后,要顯式的告訴PHP已經(jīng)使用完文件,讓操作系統(tǒng)確保將文件的所有內(nèi)容正確地從緩沖區(qū)刷新到硬盤
使用fclose()關(guān)閉文件,
bool?fclose?(?resource?handle?)//關(guān)閉一個已打開的文件指針
3.讀取文件,fopen函數(shù)的mode參數(shù)允許讀取,PHP提供了幾個函數(shù)從文件讀取數(shù)據(jù)
string?fgets?(?int?handle?[,?int?length]?)從文件指針中讀取一行,在二進制文件上嘗試fgets會產(chǎn)生不可預(yù)測的結(jié)果
如果不指定長度,默認(rèn)讀取1K數(shù)據(jù),碰到換行符(包括在返回值中)、EOF?或者已經(jīng)讀取了?length?-?1?字節(jié)后停止
string?fgetss?(?resource?handle?[,?int?length?[,?string?allowable_tags]]?)從文件指針中讀取一行并過濾掉?HTML?標(biāo)記
fgetc()讀取單個字符
fread()讀取任意二進制數(shù)據(jù)
////////////////////////////代碼部分////////////////////////////////////////
$handle?=?fopen?("test.jpg",?"rb");
$c;
while?(!feof($handle))?{
$contents?.=?@fread($handle,?8192);//循環(huán)讀取并將其合并為一個大塊文件
}
fclose($handle);
//////////////////////////////////////////////////////////////////////////
---------------------輸出結(jié)果----------------------------------------

---------------------------------------------------------------------
4.判斷文件讀取的狀態(tài)
每個文件句柄都有一個文件指針,或者一個指出下一個操作將在文件中哪里發(fā)生的游標(biāo),根據(jù)fopen函數(shù)的mode參數(shù)
文件指針最初位于文件的開頭(0),或者文件的末尾
feof()可以判斷文件是否已經(jīng)到末尾(到末尾后函數(shù)返回TRUE)
filesize()函數(shù)返回文件的大小?5.寫入文件
fwrite()函數(shù)執(zhí)行文件寫入
////////////////////////////代碼部分////////////////////////////////////////
$filename?=?'test.txt';
$somec;
//?首先我們要確定文件存在并且可寫。
if?(is_writable($filename))?{
//?在這個例子里,我們將使用添加模式打開$filename,
//?因此,文件指針將會在文件的開頭,
//?那就是當(dāng)我們使用fwrite()的時候,$somecontent將要寫入的地方。
if?(!$handle?=?fopen($filename,?'a'))?{
echo?"不能打開文件?$filename";
exit;
}
//?將$somecontent寫入到我們打開的文件中。
if?(fwrite($handle,?$somecontent)?===?FALSE)?{
echo?"不能寫入到文件?$filename";
exit;
}
echo?"成功地將?$somecontent?寫入到文件$filename";
fclose($handle);
}?else?{
}
echo?"文件?$filename?不可寫";
//////////////////////////////////////////////////////////////////////////
---------------------輸出結(jié)果----------------------------------------
成功地將?添加這些文字到文件?寫入到文件test.txt
---------------------------------------------------------------------
對于二進制數(shù)據(jù),必須指定第三個參數(shù),它包含寫入到磁盤的數(shù)據(jù)字節(jié)數(shù)
$result?=?@fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));
6.文件權(quán)限和其他信息
is_readable()//判斷文件是否可讀
is_writeable()//判斷文件是否可寫
is_writable()//判斷文件是否可寫
fileperms()//判斷文件的權(quán)限(UNIX風(fēng)格的文件權(quán)限測試函數(shù))
file_exists()//是否存在這個文件
fileowner()//判斷文件所屬用戶
filegroup()//判斷文件所屬組
7.刪除和重命名文件
unlink()//刪除文件
rename()//重命名文件
8.訪問目錄
目錄訪問建議使用前向斜線"/",兼容windows和unix系統(tǒng)
basename()//返回不包括路徑信息的文件名
dirname()//返回文件名的目錄部分
realpath()//接受相對路徑,返回文件的絕對路徑
pathinfo()//提取給定路徑的目錄名,基本文件名和擴展名
opendir()//打開目錄,返回資源句柄
readdir()//讀取目錄項
rewinddir()//將讀取指針返回開頭
closedir()//關(guān)閉讀取句柄
chdir()//改變當(dāng)前腳本執(zhí)行期間的當(dāng)前工作目錄
mkdir()//創(chuàng)建目錄
rmdir()刪除目錄
////////////////////////////代碼部分////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
---------------------輸出結(jié)果----------------------------------------

filename:?web?:?filetype:?dir

filename:?study?:?filetype:?dir

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317129.htmlTechArticle文件和目錄的操作 PHP處理本地服務(wù)器上的文件和目錄是非常方便的,但有時候會出現(xiàn)權(quán)限和路徑相關(guān)的問題 1.打開文件 resourcefopen(stringfil...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
VSCODE SETTINGS.JSON Lokasi VSCODE SETTINGS.JSON Lokasi Aug 01, 2025 am 06:12 AM

Fail Tetapan.JSON terletak di laluan peringkat pengguna atau ruang kerja dan digunakan untuk menyesuaikan tetapan vscode. 1. Laluan peringkat pengguna: Windows adalah C: \ Users \\ AppData \ Roaming \ code \ user \ settings.json, macOS adalah /users//library/applicationsupport/code/user/settings.json, linux adalah/ 2. Laluan Tahap Ruang Kerja: .VSCODE/Tetapan dalam Direktori Root Projek

Membina objek yang tidak berubah di PHP dengan sifat bacaan Membina objek yang tidak berubah di PHP dengan sifat bacaan Jul 30, 2025 am 05:40 AM

ReadonlypropertiesinPHP8.2canonlybeassignedonceintheconstructororatdeclarationandcannotbemodifiedafterward,enforcingimmutabilityatthelanguagelevel.2.Toachievedeepimmutability,wrapmutabletypeslikearraysinArrayObjectorusecustomimmutablecollectionssucha

Contoh Rentetan Tarikh Python Python Contoh Rentetan Tarikh Python Python Jul 30, 2025 am 03:32 AM

Gunakan DateTime.StrpTime () untuk menukar rentetan tarikh ke dalam objek DateTime. 1. Penggunaan Asas: Parse "2023-10-05" sebagai objek DateTime melalui "%y-%m-%d"; 2. Menyokong pelbagai format seperti "%m/%d/%y" untuk menghuraikan tarikh Amerika, "%d/%m/%y" untuk menghuraikan tarikh British, "%b%d,%y%i:%m%p" untuk menghuraikan masa dengan am/pm; 3. Gunakan dateUtil.parser.parse () untuk secara automatik menyimpulkan format yang tidak diketahui; 4. Gunakan .D

CSS Dark Mode Togol Contoh CSS Dark Mode Togol Contoh Jul 30, 2025 am 05:28 AM

Pertama, gunakan JavaScript untuk mendapatkan pilihan sistem pengguna dan tetapan tema yang disimpan di dalam negara, dan memulakan tema halaman; 1. Struktur HTML mengandungi butang untuk mencetuskan Topik Switching; 2. CSS menggunakan: Root untuk menentukan pembolehubah tema yang cerah, kelas mod-mode mentakrifkan pembolehubah tema gelap, dan menggunakan pembolehubah ini melalui VAR (); 3. JavaScript mengesan lebih suka skema-skema dan membaca LocalStorage untuk menentukan tema awal; 4. Tukar kelas mod gelap pada elemen HTML apabila mengklik butang, dan menjimatkan keadaan semasa ke LocalStorage; 5. Semua perubahan warna disertakan dengan animasi peralihan 0.3 saat untuk meningkatkan pengguna

Contoh Menu Dropdown CSS Contoh Menu Dropdown CSS Jul 30, 2025 am 05:36 AM

Ya, menu drop-down CSS biasa boleh dilaksanakan melalui HTML dan CSS tulen tanpa JavaScript. 1. Gunakan UL dan Li bersarang untuk membina struktur menu; 2. Gunakan: Hover pseudo-Class untuk mengawal paparan dan menyembunyikan kandungan tarik-turun; 3. Tetapkan Kedudukan: Relatif untuk Ibu Bapa Li, dan submenu diletakkan menggunakan kedudukan: mutlak; 4. Submenu mungkir untuk memaparkan: Tiada, yang menjadi paparan: blok apabila melayang; 5. Multi-level pull-down boleh dicapai melalui bersarang, digabungkan dengan peralihan, dan menambah animasi pudar, dan disesuaikan dengan terminal mudah alih dengan pertanyaan media. Penyelesaian keseluruhannya mudah dan tidak memerlukan sokongan JavaScript, yang sesuai untuk besar

Pengoptimuman prestasi java dan teknik profil Pengoptimuman prestasi java dan teknik profil Jul 31, 2025 am 03:58 AM

Gunakan alat analisis prestasi untuk mencari kesesakan, gunakan VisualVM atau JProfiler dalam peringkat pembangunan dan ujian, dan memberi keutamaan kepada async-profiler dalam persekitaran pengeluaran; 2. Mengurangkan penciptaan objek, menggunakan semula objek, gunakan StringBuilder untuk menggantikan splicing rentetan, dan pilih strategi GC yang sesuai; 3. Mengoptimumkan penggunaan koleksi, pilih dan preset kapasiti awal mengikut tempat kejadian; 4. Mengoptimumkan keserasian, gunakan koleksi serentak, mengurangkan granulariti kunci, dan tetapkan kolam benang dengan munasabah; 5. Tune Parameter JVM, tetapkan saiz timbunan yang munasabah dan pemungut sampah rendah dan membolehkan log GC; 6. Elakkan refleksi di peringkat kod, ganti kelas pembalut dengan jenis asas, penangguhan permulaan, dan gunakan akhir dan statik; 7. Ujian dan Pemantauan Prestasi Berterusan, digabungkan dengan JMH

Contoh Kombinasi Python ITertools Contoh Contoh Kombinasi Python ITertools Contoh Jul 31, 2025 am 09:53 AM

iTertools.Combinations digunakan untuk menjana semua kombinasi yang tidak berulang (perintah tidak relevan) yang memilih bilangan elemen tertentu dari objek Itable. Penggunaannya termasuk: 1. Pilih 2 kombinasi elemen dari senarai, seperti ('a', 'b'), ('a', 'c'), dan sebagainya, untuk mengelakkan perintah berulang; 2. Ambil 3 kombinasi watak rentetan, seperti "ABC" dan "ABD", yang sesuai untuk penjanaan berikutnya; 3. Cari kombinasi di mana jumlah dua nombor adalah sama dengan nilai sasaran, seperti 1 5 = 6, memudahkan logik gelung berganda; Perbezaan antara kombinasi dan susunan terletak pada sama ada perintah itu penting, kombinasi menganggap Ab dan BA sebagai sama, sementara permutasi dianggap berbeza;

Python untuk Etl Kejuruteraan Data ETL Python untuk Etl Kejuruteraan Data ETL Aug 02, 2025 am 08:48 AM

Python adalah alat yang cekap untuk melaksanakan proses ETL. 1. Pengekstrakan data: Data boleh diekstrak dari pangkalan data, API, fail dan sumber lain melalui panda, sqlalchemy, permintaan dan perpustakaan lain; 2. Penukaran Data: Gunakan panda untuk pembersihan, penukaran jenis, persatuan, pengagregatan dan operasi lain untuk memastikan kualiti data dan mengoptimumkan prestasi; 3. Pemuatan Data: Gunakan kaedah Pandas 'TO_SQL atau platform awan SDK untuk menulis data ke sistem sasaran, perhatikan kaedah menulis dan pemprosesan batch; 4. Cadangan Alat: Airflow, Dagster, Prefect digunakan untuk penjadualan dan pengurusan proses, menggabungkan penggera log dan persekitaran maya untuk meningkatkan kestabilan dan mengekalkan.

See all articles