HTML input type:file da tam dosya yolunu öğrenme
Başlıkta da yazdığım gibi web sayfama yüklediğin müziğin tam yolunu öğrenmek istiyorum. Ama javascript ile denediğimde "c:fake pathdosyaadı.dosyaUzantısı" olarak bir değer döndürüyor.
PHP, JavaScript veya başka bir yöntemle nasıl tam yolu öğrenebilirim?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
Dostum öncelikle sen olayı çok yanlış anlamışsın, tarayıcıda çalıştıracağın javascript'in senin yüklediğin herhangi bir dosyanın tam yolunu bilmesi imkansız. Bir kere bu olayın güvenlik açıklarını düşününce bile başıma ağrılar giriyor. Ne yapmak istediğini tam olarak bilmiyorum ama senin muhtemelen dosyayı bir sunucuya yüklemen lazım. Sonrasında zaten sunucudaki yolu kullanacaksın, o yolu da backend kodu sağlayacak.
Dikkat etmedim yanlış gitmiş burdan bakabilirsin.
dosya sunucuya upload edilene kadar son kullanıcının tarayıcısnda kalır. Ama gene de ben bu dosyayı almak istiyorum diyorsan;
jquery'nin filereader sınıfı ile yapabilirsin örnek kod snip;
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function() {
readURL(this);
});
<form runat="server">
<input type='file' id="imgInp" />
<img id="blah" src="#" alt="image" />
</form>
(Kodu denemek için tıkla)[http://jsfiddle.net/7tdkxwr6/]
Ama derdin sunucuya gönderdikten sonra tutulduğu tmp yolunu almak ise onda da resimi upload ettikten sonra php tarafında şu şekilde alabilirsin;
$_FILES["file"]["tmp_name"];
Sen dosyayı taşıyana kadar yada işlem sonuçlanana kadar tmp yolunda dosya durur bu yolu da üstte verdiğim şekilde alabilirsin.