2017-02-22 20 views
0

私は、動作しているフォルダ内のすべてのファイルを生成するドロップダウンリストを持っています。しかし、私は.jpgファイルだけを見たいと思っています。また、プレースホルダーイメージでは "0001_Place_Holder.jpg"と呼ぶので、リストから1つのファイルを除外したいと思います。PHP - ドロップダウンを生成する画像のリスト - >新しいDirに画像をコピーする - >元の画像を削除する

この2番目の部分は、ドロップダウンリストからファイルを選択して新しいフォルダにコピーし、元の画像を削除したいということです。

これは私のドロップダウンリストを作成する "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>'; 
?> 

これは、元の

<?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

を削除し、ファイルをコピーする必要があります "move_general.php" //です拡張子が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、それは第1部で働いた。私は2番目の部分を動かすためにすべてを試しました。私はついにそれを別の方法で書き直しました、そして、今働いています、私はどこかに間違った何かがあったに違いないでしょう。ここで

は私の固定 "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."; 
      } 
     } 


?> 
関連する問題