>  기사  >  백엔드 개발  >  PHP에서 이미지를 업로드하고 교체하는 방법

PHP에서 이미지를 업로드하고 교체하는 방법

藏色散人
藏色散人원래의
2020-08-06 10:04:433396검색

PHP에서 이미지를 업로드하고 바꾸는 방법: 먼저 "change.html" 및 "change.php" 파일을 만든 다음 파일 형식이 이미지 형식인지 확인하고, 그렇다면 파일을 업로드하고 지정된 파일을 바꾸세요. ; 마지막으로 파일 유형 함수를 결정하고 이를 소문자로 변환하기 위해 호출합니다.

PHP에서 이미지를 업로드하고 교체하는 방법

권장: "PHP 비디오 튜토리얼"

php를 사용하여 이미지 파일을 업로드하고

먼저 두 개의 파일을 만듭니다:change.html 및change.php

change.html 파일 형식 코드는 다음과 같습니다.

<html>
<head>
<title>change file example.</title>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="changefile.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
文件:
</td>
<td>
<input name="file" type="file" />
<input type="submit" name="submit" value="submit" />
</td>
</tr>
</table>
</form>
</body>
</html>

여기서 주의할 점이 몇 가지 있습니다. 먼저 1a123767db84ac117fb1eb1f208cd298 문장을 보세요. 여기서는 POST 방법을 사용합니다. 물론 일부 브라우저는 PUT 방법을 지원하지만 이는 권장하지 않습니다. 업로드된 파일에 일반 양식 정보가 포함되어 있음을 서버가 알 수 있도록 양식에 Enctype="multipart/form-data를 설정해야 합니다. 이 항목을 설정해야 합니다. 또한 최대 길이를 제한하려면 숨겨진 필드가 필요합니다. 업로드된 파일: < ;input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 여기서 name은 MAX_FILE_SIZE로 설정되어야 하며 해당 값은 업로드된 파일의 최대 길이이며 단위는 B입니다. 여기서는 2M로 제한합니다. :f1c3c26395f0f952a2084fb0b034997b, type="file"은 파일 유형을 나타냅니다. 다음으로 기본 파일 업로드 인터페이스를 완성하겠습니다. PHP를 사용하여 업로드된 파일을 처리하는 방법에 대해 설명합니다. 또한 php.ini에 설정된 업로드 파일의 최대 길이는 실제 업로드에 영향을 미칠 수 있습니다. 또한 PHP 업로드는 먼저 업로드됩니다. 예, 예, 필요에 따라 임시 디렉토리를 수정하거나 기본값을 사용할 수 있습니다...

다음은 양식 제출change.php 파일 코드입니다. 이 파일의 내용은 다음과 같습니다.

<?php
header("content-type:text/html;charset=utf-8");
 
/**
* @param string $oldfile 需要更换的文件名(包含具体路径名)
*/
function changeFile($oldfile){
$newfile = $_FILES[&#39;file&#39;][&#39;name&#39;];//获取上传文件名
$fileclass = substr(strrchr($newfile, &#39;.&#39;), 1);//获取上传文件扩展名,做判断用
$type = array("jpg", "gif", "bmp", "jpeg", "png");//设置允许上传文件的类型
if(in_array(strtolower($fileclass), $type)){
if(file_exists($oldfile)){
unlink($oldfile);
}
if(is_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;])){//必须通过 PHP 的 HTTP POST 上传机制所上传的
if(move_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;], $oldfile)){
//输出图片预览
echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src=&#39;$oldfile&#39;></center>";
}
}else{
echo "<center>上传失败,文件大于2M,请重新上传!</center>";
}
}else{
$text = implode(",", $type);
echo "<center>您只能上传以下类型文件:", $text, "</center><br>";
// echo "<script>alert(&#39;您只能上传以下类型文件:$text&#39;)</script>";
}
}
changeFile("./files/1.png");

읽기만 해도 약간 어지러울 수 있습니다 ~~, 한 번 보세요. 실제로는 매우 쉽다는 것을 알게 될 것입니다. 먼저 사진 업로드의 원리에 대해 이야기해 보겠습니다. . 먼저 파일 형식이 이미지 형식인지 확인한 다음 파일을 업로드하여 지정된 파일을 대체하고 업로드된 이미지 미리보기를 출력합니다. 먼저, substr(strrchr($)을 살펴보겠습니다. newfile, '.'), 1) strrchar()의 기능은 무엇입니까? 예를 들어, 사진 파일 pic.jpg, strrchr(pic.jpg, '.')는 .jpg를 반환합니다. 이 함수는 문자열의 마지막 위치 뒤에 있는 문자열을 반환합니다. substr()을 사용하면 jpg를 얻을 수 있습니다. 업로드된 파일이 지정된 형식을 준수하는지 확인하기 위해 배열에 실제 사용 중에 필요에 따라 추가할 수 있습니다.

다음으로 파일 형식을 확인하고 소문자 strtolower($_FILES[ 'file']['name']) 여기에 매우 흥미로운 내용이 있습니다. 중요한 것은 처리해야 하는 양식 데이터를 저장하는 슈퍼 전역 배열인 $_FILES입니다. 직접 액세스할 수 있지만 이것은 안전하지 않습니다. 지금 9e64262438714a80251c4b29309d2474 업로드 인터페이스를 보면 이 양식 이름에 따라 많은 정보를 얻을 수 있습니다.

$_FILES[&#39;file&#39;][&#39;name&#39;]--   得到文件名称
$_FILES[&#39;file&#39;][&#39;tmp_name&#39;]--得到临时存储位置
$_FILES[&#39;file&#39;][&#39;size&#39;]--得到文件大小
$_FILES[&#39;file&#39;][&#39;type&#39;]--得到文件MIME类型

With 이 정보를 이용하면 파일의 정보를 쉽게 확인할 수 있어 매우 편리하지 않나요? ^_^, 다음으로 이해해야 할 몇 가지 함수가 있습니다. file_exists()--지정된 디렉터리가 존재하는지 확인합니다. 존재하지 않으면 당연히 업로드할 수 없습니다(말도 안 되는 일처럼 보입니다!). HTTP POST를 통해 파일이 업로드되었는지 확인합니다. move_uploaded_file --업로드된 파일을 지정된 디렉터리로 이동합니다. 업로드가 성공하면 미리보기가 출력되고, 그렇지 않으면 출력 업로드가 실패합니다...

위 내용은 PHP에서 이미지를 업로드하고 교체하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.