ホームページ > バックエンド開発 > PHPチュートリアル > PHPファイルのダウンロードとアップロード

PHPファイルのダウンロードとアップロード

WBOY
リリース: 2016-06-13 13:03:51
オリジナル
1040 人が閲覧しました

PHP ファイルのアップロードとダウンロード

1.php.ini ?構成?

?

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;    <span style="white-space: normal;">资源限制</span>
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30     

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts. 
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60

; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
ログイン後にコピー

???max_execution_time 各スクリプト ページが実行操作を完了するまでの最大時間 (秒単位)。 -1 の場合、制限はありません

?? max_input_time 各スクリプト ページがリクエスト データを処理する最大時間、単位は秒です。 -1 の場合、制限はありません

??memory_limit スクリプト ページが消費できる最大メモリ

?

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 8M 
ログイン後にコピー

?? PHP がフォーム POST を通じて受け取ることができる最大値 (フォーム内のすべての項目を含む)。

?

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = "e:/wamp/tmp"

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M
ログイン後にコピー

?? ?file_uploads HTTP アップロードが許可されているかどうか、デフォルトはオン、つまり有効になっており、変更は必要ありません

?? ?upload_tmp_dir ファイルをアップロードするときの一時保存ディレクトリ。指定しない場合、システムのデフォルトの一時フォルダー

が使用されます。

?? ?upload_max_filesize アップロードできるファイルの最大サイズ

?

2. ページ設定?3 つの条件が必須です

(1) type 属性は file

に設定されます

(2) フォームの enctype="multipart/form-data"

(3) メソッド="post"

?

?

<form action="" method="post" enctype="multipart/form-data">
        <input name="filename" type="file"/>
        <input type="submit" value="enter"/>
</form>
ログイン後にコピー

?

???

?? 最大バイト数をアップロードできるように、アップロード フォームに隠しフィールドを追加することをお勧めします。アップロードされたファイルが 1MB を超える場合、$FILES のエラー値は 2

を返します。

?

3. bool move_uploaded_file(string filename,string destination) ? この関数は、PHP でファイルをアップロードするために特別に使用されます。

???filename クライアント ソース ファイルのファイル名とパス、アップロードされたファイルの一時ファイル名、つまり $_FILES[tmp_name]

?? ?destination アップロード後にサーバーに保存された新しいパスと名前

?? move_uploaded_file() は、ファイルを別の場所に保存するためにのみ使用されます。

?? bool is_uploaded_file(string filename) ?ファイルが POST アップロードされているかどうかを判断します

?

<?php
	header('Content-Type:text/html;charset=utf-8');
	$tmparr=$_FILES['filename'];
	if($tmparr['error']==0){
		if (is_uploaded_file($tmparr['tmp_name'])) {
			if (move_uploaded_file($tmparr['tmp_name'], $tmparr['name'])) {
				echo "上传成功";
			}else {
				echo "<script>alert('文件不合法');history.go(-1);</script>";
			}
		}else {
			echo "<script>alert('非法操作');history.go(-1);</script>";
		}
	}else {
		echo "<script>alert('上传错误,错误类型: ".$tmparr['error']."');history.go(-1);</script>";
	}
?>
ログイン後にコピー

?? $_FILES[]['name']: ?

?? $_FILES[]['type']: ?

?? $_FILES[]['size']: ? ? アップロードされたファイルのバイト数

?? $_FILES[]['tmp_name']: ?アップロード後のサーバー上の一時ストレージ ファイルの名前

?? $_FILES[]['error']: ?

?

4. ?ダウンロードを実現する? ダウンロードを実現する最も一般的な方法は、リンクを介したダウンロードと header() 関数を介したダウンロードです。

?

echo "".$filen."
";

?

"" '' 。この 3 つをどのように組み合わせて使用​​しますか?

?

?

?

?

?

?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート