cari
Rumahpembangunan bahagian belakangmasalah PHPBagaimana untuk melaksanakan arahan linux dalam 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);

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
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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

See all articles

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)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft