<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="アップロード"> </form>
フォームのenctypeプロパティは、ファイルのアップロードをサポートするためにMultiPart/Form-Dataに設定する必要があることに注意してください。
$ uploaddir = 'uploads/'; mkdir($ uploaddir);
ディレクトリを作成した後、画像をアップロードし続けることができます。
if($ _files ['image'] ['error'] == upload_err_ok){ //画像のアップロードが成功しました} else { //画像アップロード失敗ECHO '画像アップロードが失敗しました、もう一度やり真っ直ぐしてください! '; }
$ _files ['image'] ['error']は、エラーコードを表す変数であることに注意してください。値がupload_err_okの場合、アップロードが成功することを意味します。
if(move_uploaded_file($ _ files ['image'] ['tmp_name']、$ uploaddir。$ _files ['image'] ['name']){ //写真が普通に動くくされます} else { //絵の動くきに失敗したエコーの写真の動くきが失敗しました、もう一度やり真っ直ぐしてください! '; }
$ srcimage = imagecreatefromjpeg($ uploaddir。$ _files ['image'] ['name']); $ dStimage = imageCreateTrueColor(200、200); ImageCopyresized($ dStimage、$ srcimage、0、0、0、0、200、200、200、200、Imagesx($ srcimage)、Imagesy($ srcimage)); ImageJpeg($ dstimage、$ uploaddir。 'thumbnail.jpg'); Imagedestroy($ srcimage); Imagedestroy($ dstimage);
この例では、ImageCreateFromJPeg関数を使用して元の画像から画像リソースを作成し、ImageCreateTrueColor関数を使用して指定されたサイズのターゲット画像を作成し、最終的にイメージカピレーション化された関数を介したスケーリングを完了します。
$ srcimage = imagecreatefromjpeg($ uploaddir。$ _files ['image'] ['name']); $ dStimage = imageCreateTrueColor(200、200); ImageCopyResampled($ dStimage、$ srcimage、0、0、100、100、200、200、200); ImageJpeg($ dstimage、$ uploaddir。 'cropped.jpg'); Imagedestroy($ srcimage); Imagedestroy($ dstimage);
スケーリングとは異なり、トリミング操作は、イメージコピレレプド関数を使用します。これは、ソース画像から指定された領域を抽出し、ターゲット画像を生成するために使用されます。
$ srcimage = imagecreatefromjpeg($ uploaddir。$ _files ['image'] ['name']); $ watermarkimage = migmecreatefrommpng( 'watermark.png'); ImageCopy($ srcimage、$ watermarkimage、10、10、0、0、Imagesx($ watermarkimage)、Imagesy($ watermarkimage)); ImageJpeg($ srcimage、$ uploaddir。 'watermarked.jpg'); Imagedestroy($ srcimage); Imagedestroy($ watermarkimage);
ImageCopy関数を使用して、ウォーターマーク画像を元の画像にコピーし、最後にImageJPEGを使用して透かし型画像を保存します。