2017-07-01 6 views
0

私は、画像がいっぱいのフォルダをループして、別のフォルダの中にコピーしてみようとしています。私がそれらの1つでそれをしようとするとうまく動作しますが、ループするとうまくいきません。私が間違っていることを確信していない。私は何の誤りもありません。あなたのexec()コールで画像フォルダをループしてサイズを変更する

<?php 
include_once 'dbconfig.php'; 

?> 

    <?php 

// exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/10114-20170610_211655_182.jpg -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/10114-20170610_211655_182.jpg'); 

$sql = "SELECT * FROM tbl_uploads"; 
$result_set = mysql_query($sql); 

while ($row = mysql_fetch_array($result_set)) 
    { 
    $pic = $row['file']; 

    // echo $pic; 

    exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/$pic -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/$pic'); 
    } 

?> 

答えて

3

、あなたの$pic変数を認識するためのインタプリタを取得するために、文字列の連結または二重引用符を使用する必要がありますどちらか。

exec('/usr/bin/convert /home/forbes11/public_html/gallery/uploads/' . $pic . ' -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/' . $pic); 

または

exec("/usr/bin/convert /home/forbes11/public_html/gallery/uploads/$pic -resize 340x340 /home/forbes11/public_html/gallery/uploads/thumbnails/$pic"); 
+1

まあ、単一引用符をlocalhost私のWindowsで動作していないとして、私はいつもとにかく幹部との二重引用符を使用@James Meislerを拾いました。 – Bonzo

1

ないPHPとデータベースへのアクセスが何をしているか確認してください、しかし、あなたは新しいディレクトリにサムネイルのサイズを変更して保存するJPEG画像の完全なディレクトリを持っている場合、あなたはImageMagickのmogrifyコマンドを使用して、コマンドラインから非常に簡単にそれを行うことができます。

mogrify -path /output/directory -resize 340x340 *.jpg 

ファイルの名前場合あなたはそのstdinmogrifyにそれらを渡すことができ、MySQLのから来ている:

mysql_query_listing_filenames | mogrify -path /output/directory -resize 340x340 *.jpg @- 
関連する問題