ホームページ > バックエンド開発 > PHPチュートリアル > Thinkphp 複数ファイルアップロード実装方法、_PHP チュートリアル

Thinkphp 複数ファイルアップロード実装方法、_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:15:33
オリジナル
923 人が閲覧しました

Thinkphp複数ファイルアップロード実装方法、

この記事では、Thinkphp での複数ファイルのアップロードの実装方法を説明し、参考のために共有します。具体的な実装方法は以下の通りです

Thinkphp マニュアルでは、複数ファイルのアップロードについて非常に明確に説明しています: 複数のファイルを使用する必要がある場合は、フォームを変更して

を追加するだけです。

コードをコピーします コードは次のとおりです:


に変更します
コードをコピーします コードは次のとおりです:


  • または

    コードをコピーします コードは次のとおりです:


  • 現時点では、アップロード フォーム フィールドが 2 つあり、1 つは写真のアップロード用、もう 1 つはビデオのアップロード用です。フィールド名は画像とビデオです。
    HTMLコードは以下の通りです

    コードをコピーします コードは次のとおりです:
    Picture:

    ビデオ:

    モデルコード:
    コードをコピーします コードは次のとおりです:
    protected $info= '';

    protected $_auto = array(
    array('image','upload',3,callback),//自動補完メソッド
    array('video','videoupload',3,callback), //自動補完メソッド
    );//アップロードされた画像を自動的に入力してサムネイルを生成します
    保護された関数upload(){
    $var = $_FILES['画像']['名前'];
    import('ORG.Net.UploadFile');
    $upload = new UploadFile();
    $upload->saveRule = 時間;
    $upload->allowExts = array('jpg', 'gif', 'png', 'zip','flv');
    $upload->thumb = true;
    //ビデオパス。 。 。 flv サフィックスのみをサポートします。
    $upload->videopath = './Public/upload/Video/';
    $upload->savePath = './Public/upload/images/';
    $upload->thumbPrefix = '250_115_,150_110_,213_156_';
    $upload->thumbMaxWidth='250,150,213';
    $upload->thumbMaxHeight='115,110,156';
    if(!in_array('',$var) || !in_array('',$_FILES['video']['name'])){
    if(!$upload->upload()) {
    echo $upload->getErrorMsg();die;
    }その他{
    $this->info = $upload->getUploadFileInfo();
    if(!in_array('',$var) && !in_array('',$_FILES['video']['name'])){
    return $this->info[1]['savename'];
    }elseif(!in_array('',$var)){
    return $this->info[0]['savename'];
    }その他{
    false を返します;
    }

    }
    }その他{
    フラッシュを返します;
    }
    }
    //ビデオをアップロード
    保護された関数 videoupload(){
    if(!in_array('',$var) && !in_array('',$_FILES['video']['name'])){
    return $this->info[0]['savename'];
    }elseif(!in_array('',$_FILES['ビデオ']['名前'])){
    return $this->info[1]['savename'];
    }その他{
    false を返します;
    }

    }

    記事の最後では、複数ファイルのアップロードの原理を分析します。まず HTML コードを見てみましょう。
    コードをコピーします コードは次のとおりです:


  • これは、フォーム変数を配列として定義するためです。PHP では、配列特殊変数に複数の可変長のコンテンツを格納できるため、PHP で処理するときにどのように操作するかを見てみましょう。例。

    コードをコピーします コードは次のとおりです:
    protected $_auto = array(
    array('image','upload',3,callback),//自動補完メソッド
    array('video','videoupload',3,callback), //自動補完メソッド
    );//アップロードされた画像を自動的に入力してサムネイルを生成します

    これにより、thinkphp がそれを配列変数であると認識します。元の PHP のように、走査された配列の長さを判断してコードを 1 つずつアップロードする必要はありません。これは、thinkphp がすでに行っているためです。

    この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。

    www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/904017.html技術記事この記事では、Thinkphp の複数ファイル アップロードの実装方法を例とともに説明し、参考として皆さんに共有します。具体的な実装方法は以下の通りです: Thinkphp のマニュアルでは...
    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート