给定一个 远程图片地址(http地址) 然后用curl 请求 通过检查返回的 消息头 判断远程图片是否存在
但是这里有个严重的效率问题就是消息体
消息体把图片也给返回了 有设置可以 只产生消息体 让消息体为空或者或不产生消息体吗
<code>//检查远程文件 function checkRemoteFile($file_name, $path) { $path = $path . "/" . $file_name; $ch = curl_init(); $timeout = 30; //在尝试连接时等待的秒数。设置为0,则无限等待。 curl_setopt($ch, CURLOPT_URL, $path); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $contents = curl_exec($ch); //echo $contents; if (preg_match("/404/", $contents)) { echo '0'; return false; } elseif(preg_match("/200/", $contents)) { echo $contents; return true; } } </code>
回复内容:
给定一个 远程图片地址(http地址) 然后用curl 请求 通过检查返回的 消息头 判断远程图片是否存在
但是这里有个严重的效率问题就是消息体
消息体把图片也给返回了 有设置可以 只产生消息体 让消息体为空或者或不产生消息体吗
<code>//检查远程文件 function checkRemoteFile($file_name, $path) { $path = $path . "/" . $file_name; $ch = curl_init(); $timeout = 30; //在尝试连接时等待的秒数。设置为0,则无限等待。 curl_setopt($ch, CURLOPT_URL, $path); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $contents = curl_exec($ch); //echo $contents; if (preg_match("/404/", $contents)) { echo '0'; return false; } elseif(preg_match("/200/", $contents)) { echo $contents; return true; } } </code>
不用curl不就行了,fopen好像也可以打开远程文件吧。
<code>$hd = fopen($remoteUrl, 'r'); if ($hd === false) die('404') else fclose($hd);</code>
哦,看到你的评论了,用 curl_setopt($ch, CURLOPT_NOBODY, true); 看看
curl不可以吗?你试试这个呢!
<code>public function checkRemoteHttpFileExists($url) { $curl = curl_init($url); // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); // @curl_setopt($curl, CUROPT_RETURNTRANSFER,1); // 发送请求 $result = @curl_exec($curl); $found = false; // 如果请求没有发送失败 if ($result !== false) { // 再检查http响应码是否为200 $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode == 200) { $found = true; } } curl_close($curl); return $found; }</code>

Dalam PHP, anda boleh menggunakan session_status () atau session_id () untuk memeriksa sama ada sesi telah bermula. 1) Gunakan fungsi session_status (). Jika php_session_active dikembalikan, sesi telah dimulakan. 2) Gunakan fungsi session_id (), jika rentetan tidak kosong dikembalikan, sesi telah dimulakan. Kedua -dua kaedah ini dapat memeriksa keadaan sesi dengan berkesan, dan memilih kaedah yang hendak digunakan bergantung pada versi PHP dan keutamaan peribadi.

Sessionsarevitalinwebapplications, terutamanya-commercePlatforms.theymaintainuserdataacrossrequests, crucialforshoppingcarts, pengesahan, andpersonalization.inflask, SessionscanbeimplementedusingsImplecodetomanageusloginsanddateristence.

Menguruskan akses sesi serentak dalam PHP boleh dilakukan dengan kaedah berikut: 1. Gunakan pangkalan data untuk menyimpan data sesi, 2 menggunakan redis atau memcached, 3. Melaksanakan strategi mengunci sesi. Kaedah ini membantu memastikan konsistensi data dan meningkatkan prestasi konkurensi.

PhpsessionsHaveSeverallimitations: 1) storageConstraintscanleadtoperformanceissues; 2) SecurityVulnerabilityLikeSessionFixationAttackSexist; 3) ScalabilityIschallengingDuetoserver-SpecificStorage;

Beban mengimbangi mempengaruhi pengurusan sesi, tetapi dapat diselesaikan dengan replikasi sesi, ketegangan sesi, dan penyimpanan sesi berpusat. 1. Sesi Replikasi Salinan Data Sesi Antara Pelayan. 2. Sesi Stickiness mengarahkan permintaan pengguna ke pelayan yang sama. 3. Penyimpanan Sesi Pusat menggunakan pelayan bebas seperti Redis untuk menyimpan data sesi untuk memastikan perkongsian data.

Sessionlockingisatechniqueusedtoensureauserererersessionremainsexclusivetooneuseratatime.IScrucialFreventingDataCorruptionSandsecuritybreachesinmulti-userapplications.SessionLockingISimplementedusingserverververveChan

Alternatif untuk sesi PHP termasuk kuki, pengesahan berasaskan token, sesi berasaskan pangkalan data, dan redis/memcached. 1.Cookies Menguruskan sesi dengan menyimpan data pada klien, yang mudah tetapi rendah dalam keselamatan. 2. Pengesahan berasaskan token menggunakan token untuk mengesahkan pengguna, yang sangat selamat tetapi memerlukan logik tambahan. 3.Database-berasaskan data menyimpan data dalam pangkalan data, yang mempunyai skalabilitas yang baik tetapi boleh menjejaskan prestasi. 4. Redis/Memcached menggunakan cache yang diedarkan untuk meningkatkan prestasi dan skalabiliti, tetapi memerlukan pemadanan tambahan

SessionHijacking merujuk kepada penyerang yang menyamar sebagai pengguna dengan mendapatkan sessionId pengguna. Kaedah pencegahan termasuk: 1) menyulitkan komunikasi menggunakan HTTPS; 2) mengesahkan sumber sessionId; 3) menggunakan algoritma generasi sesi yang selamat; 4) Secara kerap mengemas kini sessionId.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.
