Jadual Kandungan
Jika fail awal terlalu besar atau kandungan telah diubah terlalu banyak
Bagaimana untuk mengesan perubahan dalam saiz fail
Pelaksanaan Kod
di bawah ialah hasilnya
Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan arahan linux dalam php

Bagaimana untuk melaksanakan arahan linux dalam php

Dec 08, 2021 am 11:00 AM
linux php

Cara melaksanakan arahan linux dalam PHP: 1. Buat fail contoh PHP 2. Masukkan "#!/usr/bin/env php" pada baris pertama; count ($argv)){...}" dan kod lain boleh melaksanakan perintah Linux "tail -f".

Bagaimana untuk melaksanakan arahan linux dalam php

Persekitaran pengendalian artikel ini: sistem linux5.9.8, PHP versi 7.1, komputer Dell G3.

Bagaimanakah PHP melaksanakan arahan linux?

PHP melaksanakan arahan linuxtail -f

Hari ini tiba-tiba saya terfikir bahawa seseorang telah bertanya Salah satu soalan saya ialah bagaimana untuk melaksanakan perintah tail -f dalam Linux melalui PHP Di sini saya akan menganalisis dan melaksanakannya.

Ini agak mudah apabila anda memikirkannya. Ia mengesan fail melalui gelung untuk melihat sama ada saiz fail telah berubah , akan terdapat banyak butiran di dalamnya. Berikut adalah analisis terperinci.

Jika fail awal terlalu besar atau kandungan telah diubah terlalu banyak

Pada masa ini, banyak kandungan dikeluarkan serentak dan mungkin tidak kelihatan, jadi saya menetapkan ambang 8192 di sini Apabila panjang kandungan melebihi ambang ini Apabila , hanya 8192 bait terakhir dikeluarkan, supaya tiada masalah keterlihatan yang tidak jelas disebabkan penyegaran kawasan yang besar.

Bagaimana untuk mengesan perubahan dalam saiz fail

Soalan ini adalah teras program ini sama ada ia boleh berjaya atau tidak bergantung pada bahagian prestasi ini.
Pelaksanaan saya di sini adalah seperti berikut:

  • Buka pemegang fail $fp Perlu diingatkan di sini bahawa pemegang fail di sini perlu dibuka dan ditutup sekali sahaja dalam keseluruhan proses, jadi ia mesti diletakkan di luar gelung.
  • Mulakan saiz fail semasa file_size dan file_size_new kepada kedua-duanya 0.
    • mengemas kini file_size_new saiz fail dalam gelung Perlu diperhatikan di sini bahawa sebelum mendapatkan saiz fail dalam PHP, anda mesti menjalankan fungsi clearstatcache() dan mengosongkan cache status fail, jika tidak, mungkin terdapat. penyelewengan dalam mendapatkan saiz fail.
    • mengira add_size = file_size_new - file_size untuk melihat sama ada saiz fail berubah Jika ya, alihkan penuding fail ke kedudukan yang ditentukan, kemudian keluarkan kandungan yang baru ditambah dan kemas kini nilai file_size kepada new_file_size.
    • tidur(50000), tidur selama 1/20 saat.

Pelaksanaan Kod

#!/usr/bin/env php 
<?php
if(2 != count($argv)){
    fwrite(
        STDERR,
        "调用格式错误!使用格式 ./tail filename".PHP_EOL
    );  
    return 1;
}

$file_name      = $argv[1];
define("MAX_SHOW", 8192);

$file_size      = 0;
$file_size_new  = 0;
$add_size       = 0;
$ignore_size    = 0;
$fp = fopen($file_name, "r");
while(1){
    clearstatcache();
    $file_size_new  = filesize($file_name);
    $add_size       = $file_size_new - $file_size;
    if($add_size > 0){ 
        if($add_size > MAX_SHOW){
            $ignore_size    = $add_size - MAX_SHOW;
            $add_size       = MAX_SHOW;
            fseek($fp, $file_size + $ignore_size);
        }   
        fwrite(
            STDOUT,
            fread($fp, $add_size)
        );  
        $file_size  = $file_size_new;
    }
    usleep(50000);
}

fclose($fp);
Salin selepas log masuk

Pelaksanaan Kod Baris pertama #!/usr/bin/env php di sini memberitahu fail boleh laku bahawa fail boleh laku php berada dalam sistem Cari dalam PATH, kelebihan ini adalah mudah alih yang baik.

2016-02-22 11:28:51 Penambahbaikan

Saya menyemak manual rasmi PHP, fungsi fseek boleh diperbaiki di sini, fungsi ini juga menerima Parameter pihak ketiga, menunjukkan jenis penuding offset, lalai ialah SEEK_SET, mengimbangi dari awal, ia juga boleh ditetapkan kepada SEEK_CUR, menunjukkan mengimbangi daripada kedudukan semasa, jadi di sini ia ditukar kepada fseek($fp, $ignore_size, $ignore_size);

di bawah ialah hasilnya

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan arahan linux dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Status Semasa PHP: Lihat trend pembangunan web Status Semasa PHP: Lihat trend pembangunan web Apr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP vs Bahasa Lain: Perbandingan PHP vs Bahasa Lain: Perbandingan Apr 13, 2025 am 12:19 AM

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.

Cara Memulakan Apache Cara Memulakan Apache Apr 13, 2025 pm 01:06 PM

Langkah-langkah untuk memulakan Apache adalah seperti berikut: Pasang Apache (perintah: sudo apt-get pemasangan apache2 atau muat turun dari laman web rasmi) Mula Apache (linux: Sudo Systemctl Mula Apache2; Windows: Klik kanan "Apache2.4" Perkhidmatan dan pilih "Mula") Boot secara automatik (Pilihan, Linux: Sudo Systemctl

Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apr 13, 2025 pm 01:24 PM

Apabila port Apache 80 diduduki, penyelesaiannya adalah seperti berikut: Cari proses yang menduduki pelabuhan dan tutupnya. Semak tetapan firewall untuk memastikan Apache tidak disekat. Jika kaedah di atas tidak berfungsi, sila buat semula Apache untuk menggunakan port yang berbeza. Mulakan semula perkhidmatan Apache.

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Cara memulakan semula pelayan Apache Cara memulakan semula pelayan Apache Apr 13, 2025 pm 01:12 PM

Untuk memulakan semula pelayan Apache, ikuti langkah -langkah ini: Linux/MacOS: Run Sudo SystemCtl Restart Apache2. Windows: Jalankan Net Stop Apache2.4 dan kemudian Net Start Apache2.4. Jalankan Netstat -A | Cari 80 untuk memeriksa status pelayan.

Cara Mengoptimumkan Prestasi Debian Readdir Cara Mengoptimumkan Prestasi Debian Readdir Apr 13, 2025 am 08:48 AM

Dalam sistem Debian, panggilan sistem Readdir digunakan untuk membaca kandungan direktori. Jika prestasinya tidak baik, cuba strategi pengoptimuman berikut: Memudahkan bilangan fail direktori: Split direktori besar ke dalam pelbagai direktori kecil sebanyak mungkin, mengurangkan bilangan item yang diproses setiap panggilan readdir. Dayakan Caching Kandungan Direktori: Bina mekanisme cache, kemas kini cache secara teratur atau apabila kandungan direktori berubah, dan mengurangkan panggilan kerap ke Readdir. Cafh memori (seperti memcached atau redis) atau cache tempatan (seperti fail atau pangkalan data) boleh dipertimbangkan. Mengamalkan struktur data yang cekap: Sekiranya anda melaksanakan traversal direktori sendiri, pilih struktur data yang lebih cekap (seperti jadual hash dan bukannya carian linear) untuk menyimpan dan mengakses maklumat direktori

Relevannya PHP: Adakah ia masih hidup? Relevannya PHP: Adakah ia masih hidup? Apr 14, 2025 am 12:12 AM

PHP masih dinamik dan masih menduduki kedudukan penting dalam bidang pengaturcaraan moden. 1) kesederhanaan PHP dan sokongan komuniti yang kuat menjadikannya digunakan secara meluas dalam pembangunan web; 2) fleksibiliti dan kestabilannya menjadikannya cemerlang dalam mengendalikan borang web, operasi pangkalan data dan pemprosesan fail; 3) PHP sentiasa berkembang dan mengoptimumkan, sesuai untuk pemula dan pemaju yang berpengalaman.

See all articles