我目前正在做一個下拉列表,但在下拉列表讓我們說我只想包括只有.txt擴展名文件,所以任何其他擴展名如.php .jpg或任何其他擴展名將不會在在下拉列表中。我該如何儘可能簡單地做到這一點?droplist只與特定的文件與php
另一個問題是,如果文件夾沒有任何.txt擴展名文件,我想發出警告,錯誤信息會顯示。因此,即使文件夾中沒有.txt文件,只要其他文件夾內有其他.jpg文件或任何其他文件,警告也會顯示。
任何人都可以幫我一把嗎?
這是我所做的,但它只顯示一個沒有.txt的下拉列表,但它仍然會在下拉列表中顯示其他隨機文件。
if(!(is_dir("./aaa")))
{
die("Must create a folder first, sorry");
}
$lists = scandir("./aaa");
echo "<form action=\"./page2.php\" method=\"get\">";
echo "<select>";
foreach($lists as $list)
{
if(($list == ".") || ($list == ".."))
{
continue;
}
echo "<option value=\"";
echo basename($list,".txt");
echo "\">";
echo basename($list,".txt");
echo "</option>";
}
echo "</select>";
echo "</form>";
editted加入SUBSTR與$ hasTxt
<?php
if(!(is_dir("./aaa")))
{
die("Must create a <strong>aaa</strong> folder first, sorry");
}
echo "<form action=\"./page2.php\" method=\"get\">";
echo "<select name=\"aaa\">";
$aaa_files = scandir("./aaa");
$hastxt = false;
foreach($aaa_files as $file_list)
{
if(($file_list == ".") || ($file_list == ".."))
{
continue;
}
if(strlen($file_list)>4 && strtolower(substr($file_list, -4))!='.txt')
{
continue;
}
else
{
$hastxt = true;
echo "<option value=\"";
echo basename($file_list,".txt");
echo "\">";
echo basename($file_list,".txt");
echo "</option>";
}
}
echo "</select>";
echo "<br/><input type=\"submit\">";
echo "</form>";
if($hastxt == false)
{
echo "Must create text files first, sorry";
die();
}
?>
這是我現在如果文件夾沒有任何txt文件腳本會發生什麼。
這是我真正想要的,如果沒有txt文件,當然,但沒有箭頭
啊....右....我明白這些,但我不知道是否有人該文件名爲TXT或TXT,因爲我曾經用strtolower你說和我改變了文件之一.TXT該文件不會顯示,但。有沒有辦法讓它工作? – Dora 2013-02-15 06:26:43
另外$ hasTxt工作正常謝謝謝謝,但我意識到,如果我這樣做,讓我們說呃....我的保管箱將只是空的,然後用它的假會顯示讓我們說一個消息「沒有TXT」有沒有辦法在同一頁面中,如果文件夾中沒有.txt文件,整個頁面將只會顯示「no txt」,而不是顯示保存框? – Dora 2013-02-15 06:28:15
@ user1850712,你是對的'沒有TXT',我編輯了相應的答案 – 2013-02-15 11:44:23