検索
ホームページphp教程PHP源码PHP 实现 Ajax 无刷新图片上传

AjaxUpload.class.php 

<?php
/*
 * Ajax 上传类库
 * @author Lee.
 * @date 2013/4/17
 */
class AjaxUpload {
    private $form_name;  //文件form名称
    private $ext_arr;    //允许上传的文件后缀
    private $upload_dir; //上传目录
    private $file_size;  //文件大小

    public function __construct($form_name, $file_size) {
        //初始化属性
        $this->form_name = $form_name;
        $this->ext_arr = array(
            &#39;.jpg&#39;,
            &#39;.png&#39;,
            &#39;.gif&#39;,
            &#39;.jpeg&#39;
        );
        $this->upload_dir = dirname(__FILE__)."/upload";
        $this->file_size = $file_size;
        $this->upload();
    }

    public function __set($key, $val) {
        $this->$key = $val;
    }

    /**
     * Ajax 无刷新上传图片(jpg|gif|png)
     * @param bool $return_arr 是否返回数组,前提是上传成功
     * @return (array)? || output
     */
    public function upload($return_arr=false) {
        if (!is_dir($this->upload_dir)) mkdir($this->upload_dir, 0777); //上传目录不存在则创建
        $file = $_FILES[$this->form_name];
        if ($file[&#39;error&#39;]==1 || $file[&#39;size&#39;]>($this->file_size*1024)) exit(&#39;1&#39;); //上传失败,图片不能大于 $this->file_size k!
        switch ($file[&#39;error&#39;]) {
            case 3:
                exit(&#39;3&#39;); //图片只有部分文件被上传,请重新上传!
                break;
            case 4:
                exit(&#39;4&#39;); //没有任何文件被上传!
                break;
        }
        $ext = $this->getExt($file[&#39;name&#39;]);
        if (!in_array($ext, $this->ext_arr)) exit(&#39;5&#39;); //非图片类型,请上传jpg|png|gif图片!
        $fname = str_replace(&#39;.&#39;, &#39;&#39;, microtime(true)) . rand(1, 9999) . $ext; //图片名称
        $filename = $this->upload_dir . &#39;/&#39; . $fname;
        if (!move_uploaded_file($file[&#39;tmp_name&#39;], $filename)) { //执行上传
            exit(&#39;upload error!&#39;); //上传失败,错误未知
        } else {
            $arr = array(&#39;ok&#39;=>1, &#39;filename&#39;=> &#39;upload/&#39; . $fname, &#39;size&#39;=>$file[&#39;size&#39;]);
            if ($return_arr) return $arr;
            else {
                echo json_encode(array(&#39;ok&#39;=>$arr[&#39;ok&#39;], &#39;filename&#39;=>$arr[&#39;filename&#39;])); exit;
            }
        }
    }

    /**
     * 获取文件后缀名
     * @param string $file_name 文件名称
     * @return string
     */
    private function getExt($file_name) {
        $ext = strtolower(strrchr($file_name, "."));
        return $ext;
    }
}
?>

2. [文件] php 实现无刷新上传.rar ~ 2MB        

PHP 实现 Ajax 无刷新图片上传php+实现无刷新上传.rar

                   

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。