ホームページ バックエンド開発 PHPチュートリアル ThinkPHP 学習ノート (14) ファイルのダウンロード

ThinkPHP 学習ノート (14) ファイルのダウンロード

Jun 13, 2016 pm 12:54 PM
file gt lt quot

ThinkPHP 学習メモ (14) ファイルのアップロード

には、UploadFile

のファイル導入を含むアクション設定が必要です

<?php
/**
 * 处理文件上传功能
 * @author admin
 *
 *	上传多文件时;
 *	可以在input中个的name中后加入[];例如:file[]
 *	或者可以设置标示:file1,file2
 *
 *	只有在插入数据库的时候才需要进行循环插入
 */
class FileAction extends Action{
	public function index(){
		$file=M('file');
		$list=$file->select();
		$this->assign('alist',$list);
		$this->display();
	}
	function upload(){
		//经过自定义模型
		if (empty($_FILES)){
			$this->error("必须选择上传文件");
		}else {
			$msg = $this->up();
			if (isset($msg)){
				$result=$this->insertDb($msg);
				if ($result){
					$this->success('上传成功');
				}else{
					$this->error('保存出错了那');
				}
			}else{
				$this->error($msg);
			}
		}
	}
	
	private function insertDb($data){
		$file=M('file');
		$result=true;
		for ($i = 0; $i < count($data); $i++) {
			$data['filename']=$data[$i]['savename'];
			if (!$file->data($data)->add()){
				return false;
			}
		}
		return true;
	}
	
	private function up(){
		import('ORG.Net.UploadFile');
		$upload=new UploadFile();
		$upload->maxSize='1000000';//大小:-1不限制;单位是bytes
		$upload->savePath='./Public/';//上传路径:建议以主路口或者平级目录的子目录来
		$upload->saveRule='uniqid';//保存规则:默认是uniqid
		$upload->hashType='MD5';//hash验证方法,默认是md5
		$upload->autoCheck=false;
		$upload->uploadReplace=true;
		$upload->allowExts=array('jpg','png');//允许上传的文件格式
		$upload->allowTypes=array('image/png','image/jpg');//文件的mime类型
		
		$upload->thumb=true;//是否开启图片文件缩略图
		$upload->thumbMaxWidth='100,500';//可以用,分割,写多个最大宽度
		$upload->thumbMaxHeight='100,500';//与width一一对应
		$upload->thumbPrefix='s_,m_';//缩略图文件前缀,与width一一对应
//		$upload->thumbPath='';//缩略图的保存路径,如果为空直接上传至$upload->savePath
//		$upload->thumbFile='';//缩略图的文件名,一般不会用,直接用前缀就可以了
		$upload->thumbRemoveOrigin=1;//生成新图后是否删除原图
		
//		$upload->autoSub=false;//是否使用子目录进行保存
//		$upload->subType='';//子目录创建方式,默认为hash创建,也可以设置为date
//		$upload->dateFormat='';//子目录date方式的指定格式
//		$upload->hashLevel='';//hash的层级

		
		if ($upload->upload()) {
			$msg=$upload->getUploadFileInfo();
			dump($msg);
			return $msg;
		}else {
			$this->error($upload->getErrorMsg());
			return $upload->getErrorMsg();
		}
		
	}
}
?>
ログイン後にコピー

html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><!--{$title}--></title>
</head>
<body>
<volist name="alist" id="vo">
	<img src="__PUBLIC__/s_<!--{$vo['filename']}-->"/>
	<img src="__PUBLIC__/m_<!--{$vo['filename']}-->"/>
</volist>
<form action="__URL__/upload" method="post" enctype="multipart/form-data">
	<input type="file" name="file[]">
	<input type="file" name="file[]">
	<input type="submit" value="提交">
</form>
</body>
</html>
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

紅夢ネイティブアプリケーションのランダムな詩 紅夢ネイティブアプリケーションのランダムな詩 Feb 19, 2024 pm 01:36 PM

オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

JavaのFile.length()関数を使用してファイルのサイズを取得します。 JavaのFile.length()関数を使用してファイルのサイズを取得します。 Jul 24, 2023 am 08:36 AM

ファイルのサイズを取得するには、Java の File.length() 関数を使用します。ファイル操作を扱うとき、ファイル サイズは非常に一般的な要件です。Java では、ファイルのサイズを取得するための非常に便利な方法、つまり length( ) File クラスのメソッド。この記事では、このメソッドを使用してファイルのサイズを取得する方法と、対応するコード例を紹介します。まず、サイズを取得したいファイルを表す File オブジェクトを作成する必要があります。 File オブジェクトを作成する方法は次のとおりです: Filef

PHP BLOBをファイルに変換する方法 PHP BLOBをファイルに変換する方法 Mar 16, 2023 am 10:47 AM

PHP BLOB をファイルに変換する方法: 1. PHP サンプル ファイルを作成します; 2. 「function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })」を通じて} 」メソッドを使用して、Blob をファイルに変換できます。

JavaのFile.renameTo()関数を使用してファイルの名前を変更する JavaのFile.renameTo()関数を使用してファイルの名前を変更する Jul 25, 2023 pm 03:45 PM

Java の File.renameTo() 関数を使用してファイルの名前を変更する Java プログラミングでは、ファイルの名前を変更する必要がよくあります。 Java には、ファイル操作を処理するための File クラスが用意されており、その renameTo() 関数でファイルの名前を簡単に変更できます。この記事では、Java の File.renameTo() 関数を使用してファイルの名前を変更する方法と、対応するコード例を紹介します。 File.renameTo() 関数は、File クラスのメソッドです。

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

JavaのFile.getParentFile()関数を使用してファイルの親ディレクトリを取得します。 JavaのFile.getParentFile()関数を使用してファイルの親ディレクトリを取得します。 Jul 27, 2023 am 11:45 AM

ファイルの親ディレクトリを取得するには、Java の File.getParentFile() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。ファイルの親ディレクトリを取得する必要がある場合は、Java が提供する File.getParentFile() 関数を使用できます。この記事では、この関数の使用方法とコード例を説明します。 Java の File クラスは、ファイルやフォルダーを操作するために使用される主なクラスです。ファイルのプロパティを取得および操作するための多くのメソッドを提供します

JavaのFile.getParent()関数を使用してファイルの親パスを取得します。 JavaのFile.getParent()関数を使用してファイルの親パスを取得します。 Jul 24, 2023 pm 01:40 PM

ファイルの親パスを取得するには、Java の File.getParent() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。場合によっては、ファイルの親パス、つまりファイルが存在するフォルダーのパスを取得する必要があることがあります。 Java の File クラスには、ファイルまたはフォルダーの親パスを取得する getParent() メソッドが用意されています。 File クラスは、ファイルとフォルダーを Java で抽象表現したもので、ファイルとフォルダーを操作するための一連のメソッドを提供します。その中で、手に入れてください

See all articles