Giriş tipi dosyasını kullanarak klasör yolunu seçme

3 Cevap php

I have a problem in PHP. I am using <input type=file> to get the file name from the user. Basically I want to store the just folder path and not the file, so that when I display the path using hyperlink, the user can open the directory.

Fakat <input type=file>, kullanıcı bir dosyayı daha sonra sadece dosya metin kutusu dolu alacak seçmek zorundadır. Şimdi dosya adının son bölümünü kapalı şerit istiyorum.

Bunu nasıl yaparsınız? Ya da bu sorunu çözmek için daha iyi bir yolu var mı?

EDIT:

Ben adlı bir dosya 1.html diyelim ki böyle bir şey kullanıyorum:

<form method="post" action="update.php">
    <input type="file" name="attachment" id="attachment"></td> </tr>
 </form>

Şimdi, update.php ben böyle bir şey kullanıyorum:

$logpath1=$_POST['attachment'];

Basically I am getting the file name in $logpath1 that user selects. But the thing is input type = file will only work for files and not folders.

Yani, nasıl yoldan dosya şerit mi?

Örnek: kullanıcı seçerse,

C:\Documents and Settings\myusee\Desktop\new 2.cpp

I new 2.cpp sökmek istiyorum.

Ben nasıl patlayabilir kullanabilirsiniz emin değilim. Ayrıca ben XAMPP Lite çalıştırıyorum.

3 Cevap

Bunu başka bir şekilde yapabilirsiniz, gizli bir alan <input type="hidden" id="something" name="something" /> koymak ve dosya giriş kutusunun değerini seçmek ve sunulmasından önce gizli alanına koymak için jQuery (JavaScript) kullanabilir ve sunulmasından sonra bir bütün yolu olacak çalışır ama denemeye değer, ben bilmiyorum.

Tarayıcıların çoğu güvenlik nedeniyle yolu bilgi (ya da bir dosya giriş kutusunun herhangi bir bölümünü) erişmesini bastırmak. Normal dosya girişi sayesinde, bu yapılamaz. SWFBOX gibi Flash tabanlı yükleme eklentileri Maybe tek bir dizin ön ayar izin.

1) ANY information about the clients file structure directory path is a security risk. POST submits, JavaScript, Flash, Java applications or any other web-based method that has the ability to do this is an exploit. I would doubt Firefox, Internet Explorer, Safari, Opera, or any other browser is going to allow you to do this. If a method is found - a later version most likely will patch this exploit and your code will be rendered useless.

Bunun yerine server directory bir dizini görüntülemek istiyorsanız 2), size yüklenen dosyanın depolandığı geçici dizinin tam yolunu almak için bu PHP kodu kullanabilirsiniz.

$temp_path=$_FILES['attachment']['tmp_name'];

Ancak, bu SERVER için bir güvenlik riski olacaktır. Ayrıca, geçici yolu normal web erişimi engellendi. Normalde, sadece PHP yorumlayıcı bu erişebilirsiniz.

Bir dosya yüklenir kez geçerli olup olmadığını Genellikle, bu şekilde hareket edilebilir:

move_uploaded_file($_FILES['attachment']['tmp_name'], $the_directory_i_want);

Ama $the_directory_i_want değişken you kümesi yana, zaten bu bilemez.

Bazı tür bir yerel dosya yardımcı olarak WAMP ve PHP kullanmak çalıştığınız gibi çeşit geliyor. Bu durumda, PHP iyi bir çözüm olmayabilir. Bunun yerine bir .HTA application oluşturarak bakmak isteyebilirsiniz.