PHP Tutorial For Beginners: File Upload

이 비디오 튜토리얼에서는 PHP 파일 업로드 스크립트를 작성하는 방법을 학습합니다 그래서 나와 함께있어 라

이봐 요, 사람들이 뭐니? 상원 의원은 여기 codingpassiveincomecom에서 왔습니다 내가 다른 사람들이 웹이되는 것을 돕는 곳 개발자가 훨씬 쉽고 빠르다 그리고 나서 그들은 자신의 것으로 그것을 할 것이다

그래서 당신이 구독을 고려하는 관심사입니다 그래서 지금 나는 phpstorm에있다 빈 PHP 파일 업로드 프로젝트를 만들었고 새로운 비어있는 업로드 폴더와 빈 indexPHP 파일 그 첫 번째 일 우리는이 서버에 파일을 업로드 할 수 있는지 확인해야합니다

내 예제에서는 localhost를 사용합니다 XAMPP 서버와 나는 이미 업로드 할 수있는 것을 알고 있지만, 아마 그렇지 않을 수도 있습니다 PHP 태그를 열어서 확인한 다음 여기 에코를 말하고 함수 PHP 정보를 호출하고 이것을 열어 보겠습니다 브라우저에서 보시다시피 내 서버에 대한 정보가 있습니다 보시다시피 PHP 버전 7을 사용하고 있으며 여기에서로드 된 구성 파일을 볼 수 있습니다

그리고 그것의 위치는 이것입니다 그래서, 나는이 위치로 가서이 파일을 열 것이다 수동으로 이동할 수는 있지만 터미널과 그것을 얻고 Enter를 누르면이 파일이 열립니다 이제 나는 파일 업로드 및 당신이 볼 수있는 순간 나를 위해 그것은에 설정할 수 있습니다 꺼져 있거나 어쩌면 이렇게 될 수 있습니다 그래서, 사건은 당신을위한 것일 수도 있습니다

그것은 내 사이트에있는 것처럼 보입니다 그 후에 파일을 말하면이 자습서를 설정할 수 있습니다 아래보다, 업로드 할 수있는 최대 파일 크기, 임시 디렉토리 등의 다른 설정도 있습니다 하지만 가장 중요한 것은 여기에있는 것입니다 이제 빈 HTML 문서를 만들겠습니다

html로 머리말을하고, 나는 제목을 가지고 PHP 파일 업로드라고 말할 것입니다 여기에서는 몸과 몸체를 말할 것입니다 간단한 HTML 폼을 만들 것입니다 나는 폼 메소드를 사용하여 포스트 액션을 사용할 것이라고 말할 것이다 나는이 동일한 색인을 사용할 것입니다

PHP 파일 그리고 우리가 파일을 업로드하기 때문에, 우리는 암호화 파트를 멀티 파트 양식 데이터로 변환합니다 좋아요, 이제 두 개의 입력이 필요합니다 파일 형식이 입력됩니다; 나는 그것을 약간의 이름으로 말할 것이다 첨부 파일과 버튼 하나만 있으면됩니다 이것이 우리가 필요로하는 모든 것입니다

이제 브라우저에서 열어 보겠습니다 파일을 선택하면 열어 본 파일을 클릭하여 열 수 있습니다 업로드하고 지금 당장 볼 수 있듯이 아무것도 일어나지 않습니다 왜냐하면 우리는 이 양식의 게시물을 처리 할 PHP 코드 그래서 PHP는 먼저이 말을 해봅시다

if (isset ($ _ post [ 'submit']); 누군가이 버튼을 누르면 우리는 여기에있는 코드의 일부를 실행할 것입니다 먼저 파일을 업로드 할 위치를 선언하고 싶습니다 그래서, 나는 목표 파일을 말할 수있다 = 그래서 그 폴더는 업로드 될 것이고 지금 이 폴더에서 우리가 파일을 저장할 방법을 파일 이름으로 설정해야합니다 그래서, 내가 할 일은 basename 함수를 호출 할 것입니다

파일 배열에서 이름을 가져올 것입니다 그러니 그게 뭔지 보여 드리겠습니다 이 파일을 인쇄한다고 가정 해 봅시다 그리고 우리가 가진 것을 보자 그래서, 내가 지금 어디에서 왔는지

좋아요, 계속하고, 파일을 선택하십시오 좋아요 files는 배열, 연관 배열이고이 배열 안에는 첨부 파일을위한 또 다른 배열이 있습니다 이 첨부 파일에는 이름이 있습니다 이 파일 유형입니다

우리는 일시적인 이름을 가지고 있습니다, 우리는 오류가 있습니다 그것은 모든 것을 의미합니다 그리고 우리는이 파일의 크기도 가지고 있습니다 그래서,이 이름을 얻으려면 첨부 파일 이름을 말할 것입니다 우리는 또한 그것을 테스트 할 수 있습니다

이 파일을 첨부 파일처럼 말한 다음 이름을 지정하고 보시다시피, 우리는 그것을 가지고 있습니다 그래서, 근본적으로 내가 달성하려고 노력하고있는 것 바로 여기 내 목표 파일을 원해요 폴더 업로드에 있고 파일의 이름이 무엇이든 이름이됩니다 하지만 여기에서는 basename 함수를 사용하고 있습니다 왜냐하면 어떤 경우에는 우리가 원하지 않는 문자를 가질 수 있기 때문입니다

그래서 우리는 파일 이름을 얻고 싶습니다 그래서이 basename 함수가 좋은 것입니다 우리가 원하면 이 타겟 파일을 에코하여, 그것이 잘 보이는지 확인하십시오 우리가 볼 수 있듯이 대상 파일 업로드 및이 폴더 따라서이 파일을 업로드 폴더에 업로드하려면 함수가 필요합니다

업로드 된 파일을 이동하십시오 그래서, 나는 파일들을 사용할 것이다 첨부 파일을 작성한 다음 임시 이름을 사용합니다 그래서,에서 업로드하고 싶습니다 이 위치에있는이 위치 파일

임시 이름을 사용할 것입니다 괜찮아 그리고 우리는 목표 파일에 업로드하고 싶습니다 그리고 에코 파일을 업로드했다고 말할 수 있습니다 그래서, 당신이 볼 수 있듯이 여기 if 문을 사용하고 있습니다

이 함수는 업로드 된 파일을 이동하면 true 또는 false를 반환합니다 파일이 업로드되었거나 업로드되지 않은 경우 파일의 일부를 실행합니다 암호 이 예제에서 업로드 된 에코 파일이 실행된다고 가정 해 봅시다 계속하면 업로드 된 파일이 있습니다

이제 업로드 폴더로 이동할 수 있습니다 알 수 있듯이 내 그림 있어요 png 파일 그래서 다시 시도하면 어떻게됩니까? 효과가있다 다시

그러나 문제는 같은 파일이 이미 존재하고이 파일을 덮어 쓰지 않으려면 어떻게 확인할 수 있는가입니다 우리가 할 수있는 일은 파일이있는 경우 함수를 사용합니다 그래서, 파일이 존재한다면, 목표 파일이라고 말할 것입니다 나는 반향을 말할 수있다 이 이름이 이미있는 파일이 이미 있습니다

자, 여기 다른 말을 해봅시다 좋아요, 그럼 지금 시험합시다 계속해서,이 이름으로 신청했다고 이미 존재합니다 다시 말해, 우리가 다른 것을 가질 때까지이 파일을 다시 업로드하지 않을 것입니다 파일

우리는 예를 들어이 히트 오픈, 히트 업로드에 갈 수 있습니다 파일이 업로드되었습니다 이제 다른 파일이 있습니다 이제 우리는이 양식을 어떻게 보호 할 수 있습니까? 파일 형식을 업로드 할 수 있습니다 모든 유형의 파일을 업로드 할 수 있습니다

이미지 업로드 양식을 만들고 싶다고 가정 해 보겠습니다 그리고 이미지 만 업로드 할 수 있습니다 그래서, 우리가 할 수있는 것은 내가 여기서 말할 수있다 파일 확장명을 가져 와서 extension =이라고 말하면 pathinfo () 함수를 사용합니다 여기서는 대상 파일을 말하고 PHP를 확인한다고 가정 해 보겠습니다

자, 확장이 무엇인지 보자 신장 그래서이 확장은 여기에 SQL입니다 확장자가 png 및 확장자와 다른 경우 여기에서 말할 수 있습니다

그리고 jp, jpeg, echo와 다르다 고합시다 이미지 파일 만 허용됩니다 자, 여기 다른 말을 해봅시다

좋아요 지금 시험해보십시오 업로드를 다시 시도하고 이미지 파일 만 허용됩니다 파일의 확장자가 이미지 파일이 아니기 때문에 우리가 정의한 것입니다 그래서 우리가 지금 사진을 업로드하려고 시도하고 업로드를 클릭하면 업로드 된 파일이 표시됩니다

확장자는 png이므로 우리가 확인할 수있는 마지막 것은 업로드중인 파일의 크기를 찾을 수 있으며 큰 파일 크기를 제한 할 수 있습니다 업로드 할 수 있습니다 이 배열에서 볼 수 있듯이 크기가 이 값이 바이트이기 때문에 여기서 312KB임을 알 수 있습니다

그래서, 당신이 할 수있는 일은 우리가 제한 할 것입니다 200 KB 이상의 모든 파일 업로드 할 수 없습니다 따라서 첨부 파일 크기가 200 KB보다 크면 "파일을 에코합니다" 너무 큽니다 ", 그렇지 않은 경우 이제 좋아요 이제 테스트 해 봅니다 다시 업로드하면 파일이 너무 큽니다

좋아, 그러자 이 튜토리얼의 목적에 따라 500KB로 제한을 설정합니다 그래서 업로드해서 다시 테스트해볼 수 있습니다 이제이 이름을 가진이 파일은 이미 존재한다 이것은 우리가 이것을 통과했다는 것을 의미한다

바로 이것과 코드의 문제이다 그래서, 내가 할 수있는 것은 내가 가서 파일을 지우고 다시 테스트하고 지금 파일 업로드, 그리고 여기에 우리가 간다 우리는 이것을 더 이상 꼭대기에 올 필요가 없습니다 그것을하는 방법을 보여주기위한 목적 일뿐입니다 그래서, 얘들 아 그게 전부예요

이것은 정말 기본적인 것이고 당신이 이것을 쉽게 이해할 수 있기를 바랍니다 문의 사항이 있으시면 아래 의견에 질문 해주십시오 또한이 튜토리얼이 마음에 들면 그것을 좋아하고 친구들과 공유하십시오 조심해!