Penyemak imbas selalunya memaparkan fail yang dipilih melalui sebagai berasal dari "C:fakepath" atau lokasi palsu yang serupa. Langkah keselamatan ini menghalang skrip daripada mengakses laluan setempat sebenar, amalan yang boleh disalahgunakan untuk tujuan hasad.
Maklumat terhad ini boleh mengecewakan apabila pembangun memerlukan laluan setempat penuh untuk pemprosesan fail atau operasi lain. Walaupun tiada cara langsung untuk mendapatkan semula laluan sebenar dalam penyemak imbas moden, terdapat penyelesaian yang boleh memberikan perwakilan yang boleh diakses separa.
Untuk penyemak imbas berasaskan Mozilla (cth., Firefox), mengakses laluan penuh fail bukanlah mungkin. Penyemak imbas hanya akan memaparkan nama fail sebagai "test.csv" dalam elemen yang ditentukan.
Walau bagaimanapun, dalam penyemak imbas lain, pembangun boleh menggunakan sifat webkitRelativePath (pelayar berasaskan WebKit seperti Chrome) atau sifat mozFullPath (pra -Firefox 69) untuk mendapatkan perwakilan laluan setempat separa.
Berikut ialah contoh untuk Chrome:
`
document.querySelector('input[type=file]').addEventListener('change', function() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">console.log(this.files[0].webkitRelativePath);
});
`
Kod ini akan log a laluan seperti "Documents/test.csv", yang bukan laluan penuh tetapi menyediakan perwakilan yang lebih bermaklumat daripada "C:fakepath".
Perlu ambil perhatian bahawa penyelesaian ini mungkin tidak tersedia dalam semua penyemak imbas atau mungkin mempunyai sekatan keselamatan. Oleh itu, adalah penting untuk mempertimbangkan implikasi keselamatan untuk mengakses laluan fail dan mematuhi garis panduan keselamatan penyemak imbas semasa membangunkan aplikasi web.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Laluan Fail Tempatan Penuh daripada Input Fail Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!