2017-02-22 53 views
0

我有一個下拉列表生成文件夾中的所有文件,這是工作。但我只想看到.jpg文件,並且我想從列表中排除一個文件,因爲它是佔位符圖像,可以稱其爲「0001_Place_Holder.jpg」。PHP - 生成下拉列表圖像 - >將圖像複製到新的目錄 - >刪除原始圖像

第二部分是,我想從下拉列表中選擇一個文件並將其複製到一個新文件夾,然後刪除原始圖像。

這是 「move_files_general.php」 //生成我的下拉列表

<?php 
$dirname = "general_2"; 
$dir = opendir($dirname); 
echo '<form action="move_general.php" method="get">'; 
echo '<select name="file2">'; 
while(false != ($file = readdir($dir))) 
{ 
    if(($file != ".") and ($file != "..")) 
    { 
     echo "<option value=".$file.">$file</option>"; 
    } 
} 
echo '</select>'; 
echo '<input type="submit" value="Move To Quality" class="submit" />'; 
echo '</form>'; 
?> 

這是 「move_general.php」 //這應該複製該文件然後刪除原始

<?php 
$dirpath = "general_2"; 
$dirpath_2 = "quality_2"; 
$file_to_move = $_GET['file2']; 
copy("$dirpath.'/'.$file_to_move", "$dirpath_2.'/'.$file_to_move") or  die("Unable to copy"); 
if (copy("$dirpath.'/'.$file_to_move", "$dirpath_2.'/'.$file_to_move")) { 
unlink("$dirpath.'/'.$file_to_move"); 
    if (unlink ($dirpath.'/'.$file_to_move)) { 
      echo $file_to_move . " deleted."; 
     echo '<script>parent.window.location.reload(true);</script>'; 
    } else { 
    echo "Error."; 
} 
} 
?> 
+0

,什麼是錯誤? – Oliver

+0

它在「複製」行中擊中模具(「無法複製」) – Nrodgers1987

+1

嘗試使用絕對路徑。你是否設置了文件夾的權限?如果有例外,你應該在你的日誌文件中找到 – Oliver

回答

0

如果文件擴展名爲jpg,並且它不等於佔位符名稱,那麼您將測試文件名。

if(($file != ".") and ($file != "..") and ($file != "0001_Place_Holder.jpg")) 
{ 
    if(pathinfo($file, PATHINFO_EXTENSION) ==='jpg'){ 
     echo "<option value=".$file.">$file</option>"; 
    } 
} 

對於第二個問題:嘗試設置文件夾的權限爲777,用於測試目的。還要回顯您傳遞的字符串(string1,string2)以檢查是否有錯誤。

0

首先,感謝您的答案和幫助。 Alex Odenthal,爲第一部分工作。我想盡一切辦法讓第二部分工作。我終於用一種不同的方式改寫了它,現在它正在工作,我一定在某個地方出了問題。

這是我固定的 「move_files_general.php」

<?php 
$dirname = "general"; 
$dir = opendir($dirname); 
echo '<form action="move_general.php" method="get">'; 
echo '<select name="file2">'; 
while(false != ($file = readdir($dir))) 
{ 
    if(($file != ".") and ($file != "..") and ($file != "0001_Place_Holder_DO_NOT_DELETE.jpg")) 
    { 
if(pathinfo($file, PATHINFO_EXTENSION) ==='jpg'){ 
    echo "<option value=".$file.">$file</option>"; 

} 
} 

} 
echo '</select>'; 
echo '<input type="submit" value="Move To Quality1" class="submit" />'; 
echo '</form>'; 
?> 

這是我固定的 「move_general.php」

<?php 
$file_to_move = $_GET['file2']; 
$source = "general/$file_to_move"; 
$dest = "quality/$file_to_move"; 
copy($source, $dest); 
if (copy($source, $dest)) { 
    unlink($source); 
      if(file_exists($source)) { 
      unlink($source); } 
    else { 
      echo "Deleted."; 
      } 
     } 


?>