<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="업로드"> </form>
파일 업로드를 지원하려면 양식의 ENCTEPE 속성을 멀티 파트/양식 데이터로 설정해야합니다.
$ 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 { // 사진 움직임 실패 Echo '사진 움직임이 실패했습니다. 다시 시도하십시오! ';; }
$ srcimage = imageCreatefromjpeg ($ uploadDir. $ _files [ 'image'] [ 'name']); $ dstimage = imageCreatetRuecolor (200, 200); imageCopyresized ($ dstimage, $ srcimage, 0, 0, 0, 0, 0, 200, 200, imagesx ($ srcimage), imagesy ($ srcimage)); ImageJpeg ($ dstimage, $ uploaddir. 'theambnail.jpg'); imageStroy ($ srcimage); imageStroy ($ dstimage);
이 예에서는 imageCreateFromJPeg 함수를 사용하여 원본 이미지에서 이미지 리소스를 작성한 다음 imageCreateTrecolor 함수를 사용하여 지정된 크기의 대상 이미지를 생성하고 imageCopyresized 기능을 통해 스케일링을 완료합니다.
$ srcimage = imageCreatefromjpeg ($ uploadDir. $ _files [ 'image'] [ 'name']); $ dstimage = imageCreatetRuecolor (200, 200); imageCopyResAmpled ($ dstimage, $ srcimage, 0, 0, 0, 100, 100, 200, 200, 200, 200); ImageJpeg ($ dstimage, $ uploaddir. 'crepped.jpg'); imageStroy ($ srcimage); imageStroy ($ dstimage);
스케일링과 달리 자르기 작업은 imageCopyResAmpled 함수를 사용합니다.이 기능은 소스 이미지에서 지정된 영역을 추출하고 대상 이미지를 생성하는 데 사용됩니다.
$ srcimage = imageCreatefromjpeg ($ uploadDir. $ _files [ 'image'] [ 'name']); $ waterMarkImage = imageCreateFrommpng ( 'waterMark.png'); imageCopy ($ srcimage, $ watermarkimage, 10, 10, 0, 0, imagesx ($ watermarkimage), imagesy ($ watermarkimage)); ImageJpeg ($ srcimage, $ uploadDir. 'WaterMarked.jpg'); imageStroy ($ srcimage); ImageStroy ($ watermarkimage);
imageCopy 함수를 사용하여 워터 마크 이미지를 원본 이미지에 복사하고 마지막으로 imageJPEG를 사용하여 워터 마크 이미지를 저장합니다.