>  기사  >  백엔드 개발  >  php+ajax를 사용하여 진행 표시줄이 있는 사진 업로드 예제에 대한 자세한 설명

php+ajax를 사용하여 진행 표시줄이 있는 사진 업로드 예제에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-06-01 11:16:531602검색

이 글에서는 주로 php+ajax를 사용하여 진행률 표시줄을 사용하여 이미지를 업로드하는 기능을 소개하며, 새로 고침 없이 PHP 파일 전송 및 Ajax 제출과 관련된 운영 기술도 포함되어 있어 독자들이 다운로드하여 참조할 수 있습니다. 필요하면 참고하시면 됩니다

런닝 효과 다이어그램은 다음과 같습니다.

코드는 다음과 같습니다.

<?php
if(isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK)
{
  ############ Edit settings ##############
  $UploadDirectory  = &#39;F:/Websites/file_upload/uploads/&#39;; //specify upload directory ends with / (slash)
  ##########################################
  /*
  Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini".
  Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit
  and set them adequately, also check "post_max_size".
  */
  //check if this is an ajax request
  if (!isset($_SERVER[&#39;HTTP_X_REQUESTED_WITH&#39;])){
    die();
  }
  //Is file size is less than allowed size.
  if ($_FILES["FileInput"]["size"] > 5242880) {
    die("File size is too big!");
  }
  //allowed file type Server side check
  switch(strtolower($_FILES[&#39;FileInput&#39;][&#39;type&#39;]))
    {
      //allowed file types
      case &#39;image/png&#39;:
      case &#39;image/gif&#39;:
      case &#39;image/jpeg&#39;:
      case &#39;image/pjpeg&#39;:
      case &#39;text/plain&#39;:
      case &#39;text/html&#39;: //html file
      case &#39;application/x-zip-compressed&#39;:
      case &#39;application/pdf&#39;:
      case &#39;application/msword&#39;:
      case &#39;application/vnd.ms-excel&#39;:
      case &#39;video/mp4&#39;:
        break;
      default:
        die(&#39;Unsupported File!&#39;); //output error
  }
  $File_Name     = strtolower($_FILES[&#39;FileInput&#39;][&#39;name&#39;]);
  $File_Ext      = substr($File_Name, strrpos($File_Name, &#39;.&#39;)); //get file extention
  $Random_Number   = rand(0, 9999999999); //Random number to be added to name.
  $NewFileName    = $Random_Number.$File_Ext; //new file name
  if(move_uploaded_file($_FILES[&#39;FileInput&#39;][&#39;tmp_name&#39;], $UploadDirectory.$NewFileName ))
    {
    die(&#39;Success! File Uploaded.&#39;);
  }else{
    die(&#39;error uploading File!&#39;);
  }
}
else
{
  die(&#39;Something wrong with upload! Is "upload_max_filesize" set correctly?&#39;);
}

요약: 위 내용이 이 글의 전체 내용입니다. 모두의 공부에 도움이 될 것입니다.

관련 권장 사항:

PHP로 구현된 사용자 정의 배열 정렬 기능 및 정렬 클래스

PHP는 웹 페이지의 모든 고정 시드 링크를 일괄적으로 가져오는 방법을 구현합니다.

PHP는 2차원 배열을 구현합니다. 특정 열 기준 정렬 방법_phptips

위 내용은 php+ajax를 사용하여 진행 표시줄이 있는 사진 업로드 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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