찾다
백엔드 개발PHP 튜토리얼php上传图片到服务器

php文件上传中会用到$_FILES系统函数

一、$_FILES系统函数

PHP编程语言中的常见的$_FILES系统函数用法有:
$_FILES['myFile']['name'] 显示客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 储存的临时文件名,一般是系统默认。

二、常见函数

PHP编程语言中的常见的$_FILES系统函数用法有:

$_FILES['myFile']['name'] 显示客户端文件的原名称。

$_FILES['myFile']['type'] 文件的 MIME 类型,例如"image/gif"。

$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。

$_FILES['myFile']['tmp_name'] 储存的临时文件名,一般是系统默认。

$_FILES['myFile']['error'] 该文件上传相关的错误代码。以下为不同代码代表的意思:

0; 文件上传成功。

1; 超过了文件大小php.ini中即系统设定的大小。

2; 超过了文件大小MAX_FILE_SIZE 选项指定的值。

3; 文件只有部分被上传。

4; 没有文件被上传。

5; 上传文件大小为0。

三、php文件上传

通过form上传文件,首先需要标记

enctype="multipart/form-data" method="post">。下面的html代码:


商家店铺名:

联系电话:

QQ:

广告语:

上传封面图:(建议320*120)

商家简介:
 

|


php代码如下:

<?php /** * Created by PhpStorm. * User: funmi * Date: 14-9-10 * Time: 下午6:57 */include_once('./common.php');if($_SGLOBAL['login']==true){    $cover_pic = upload_store_pic();    $store_name = $_POST['sjname'];    $tel_number = $_POST['sjphone'];    $ad_words = $_POST['sjad'];    $store_introduce = $_POST['sjbrief'];    $qq_number = $_POST['sjqq'];    $setarr=array(        'cover_pic'=>$cover_pic,        'store_name'=>$store_name,        'tel_number'=>$tel_number,        'ad_words'=>$ad_words,        'store_introduce'=>$store_introduce,        'qq_number'=>$qq_number    );    updatetable(tname('open_member_weixin_ap'),$setarr,array('apid'=>$_COOKIE['apid'],'id'=>$_COOKIE['id']));    $smarty->assign('loginuser',$_COOKIE['loginuser']);    $smarty->display('setting.dwt');    exit();}gourl('binding.php');function upload_store_pic(){    //文件保存路径    $save_path = './uploads/store_pic/';    if (!file_exists($save_path)) {        mkdir($save_path);    }    //定义允许上传的文件扩展名    $ext_arr = array(        'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp')    );    //最大文件大小    $max_size = 1000000;    //PHP上传失败    if (!empty($_FILES['img_file']['error'])) {        switch($_FILES['img_file']['error']){            case '1':                $error = '超过php.ini允许的大小。';                break;            case '2':                $error = '超过表单允许的大小。';                break;            case '3':                $error = '图片只有部分被上传。';                break;            case '4':                $error = '请选择图片。';                break;            case '6':                $error = '找不到临时目录。';                break;            case '7':                $error = '写文件到硬盘出错。';                break;            default:                $error = '未知错误。';        }        showmessage($error);        return '';    }    //有上传文件时    if (empty($_FILES) === false) {        //原文件名        $file_name = $_FILES['img_file']['name'];        //服务器上临时文件名        $tmp_name = $_FILES['img_file']['tmp_name'];        //文件大小        $file_size = $_FILES['img_file']['size'];        //检查文件名        if (!$file_name) {            showmessage("请选择文件。");            return '';        }        //检查目录        if (@is_dir($save_path) === false) {            showmessage("上传目录不存在。");            return '';        }        //检查目录写权限        if (@is_writable($save_path) === false) {            showmessage("上传目录没有写权限。");            return '';        }        //检查是否已上传        if (@is_uploaded_file($tmp_name) === false) {            showmessage("上传失败。");            return '';        }        //检查文件大小        if ($file_size > $max_size) {            showmessage("上传文件大小超过限制。");            return '';        }        //检查目录名        $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);        if (empty($ext_arr[$dir_name])) {            showmessage("目录名不正确。");            return '';        }        //获得文件扩展名        $temp_arr = explode(".", $file_name);        $file_ext = array_pop($temp_arr);        $file_ext = trim($file_ext);        $file_ext = strtolower($file_ext);        //检查扩展名        if (in_array($file_ext, $ext_arr[$dir_name]) === false) {            showmessage("上传文件扩展名是不允许的扩展名。");            return '';        }        //新文件名        $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '_apid_' . $_COOKIE['apid'] . '.' . $file_ext;        //移动文件        $file_path = $save_path . $new_file_name;        if (move_uploaded_file($tmp_name, $file_path) === false) {            showmessage("上传文件失败。");            return '';        }        @chmod($file_path, 0777);        return $file_path;    }else{        return '';    }}


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄)11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄)Mar 03, 2025 am 10:49 AM

종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram API 소개Instagram API 소개Mar 02, 2025 am 09:32 AM

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel의 플래시 세션 데이터로 작업합니다Laravel의 플래시 세션 데이터로 작업합니다Mar 12, 2025 pm 05:08 PM

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

Laravel Back End : Part 2, React가있는 React 앱 구축Laravel Back End : Part 2, React가있는 React 앱 구축Mar 04, 2025 am 09:33 AM

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel 테스트에서 단순화 된 HTTP 응답 조롱Laravel 테스트에서 단순화 된 HTTP 응답 조롱Mar 12, 2025 pm 05:09 PM

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> ​​'Hello World', 'github.com'=> ​​[ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법Mar 14, 2025 am 11:42 AM

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Mar 13, 2025 pm 12:08 PM

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP 상황 조사 발표2025 PHP 상황 조사 발표Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구