1

PHPを使用してアップロードする画像ファイルを処理し、ImageMagickを使用して画像のサムネイルを作成しています。

問題:ソース ファイルと宛先ファイルのパスを Imagemagick に提供するにはどうすればよいですか?

ソースファイルの場所を次の$_FILES['photo']['tmp_name'];ように指定しました

/tmp/php2c3dCg

宛先ファイルについては、次のようなフルパスを提供する必要がありました

/home/mywebsite/public_html/public/img/posts/thumbnail/1087_1174cc2995db2a19472da1bbf1665e94b5121246.jpg

質問

  1. 宛先イメージへのフル パスを指定する必要がありますか? Imagemagick Web サイトの例では、convert dragon.gif -resize 64x64 resize_dragon.gif. 試しconvert /tmp/php2c3dCg -thumbnail 220x220^ -gravity center -extent 220x220 -quality 90 /home/mywebsite/public_html/public/img/posts/thumbnail/1087.jpgてみると、うまくいくようでした。どうすれば短くできますか?

  2. /tmp/php2c3dCgではなく、ルートにありpublic_htmlますか? にフォルダが表示されませんpublic_html

4

1 に答える 1

1

1.

作業ディレクトリからの相対パスを使用できます。PHP の を使用している場合exec()、作業ディレクトリは PHP スクリプトを含むディレクトリです。しかし、絶対パスのどこが悪いのでしょう。スクリプトはパスが長くても気にせず、問題の原因が 1 つ少なくなります。

2.

はい、システムの一時ディレクトリにあります。これは、PHP がユーザーがアップロードしたファイルを配置する場所です。それらはリクエストが処理された後に削除されるため、保持したい場合はコピー/処理して別の場所に保存する必要があります。

于 2012-07-12T13:26:57.523 に答える