1) 一度にアップロードできるファイルは一つです。 2) PHP とおなじ場所にファイルをアップロードします( 本来は場所を変えるべきです ) 3) アップロードできる最大サイズは 1048576 バイトです 4) アップロードするファイル名の日本語対応をしないので、uniqid() 関数でファイル名を作成しています 5) 拡張子は、アップロードされたファイルとおなじものを使用しています 6) PHP が $_FILE にセットする MIME が画像の場合は、HTML で画像を表示します
<!DOCTYPE html> <html> <head> <meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport"> <title>単純ファイルアップロード</title> <meta charset="utf-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css"> <link rel="stylesheet" href="https://lightbox.sakura.ne.jp/demo/two-section.css"> <style> #extend { white-space: pre; } </style> </head> <body> <div id="head"> <form enctype="multipart/form-data" method="POST"> <div> <input name="target" type="file" class="ml-4 btn btn-outline-primary"> <input type="submit" name="send" value="アップロード" class="ml-4 btn btn-outline-primary"> <a class="ml-4 btn btn-info" href="<?= $_SERVER["PHP_SELF"] ?>">GET 再読み込み</a> <input type="hidden" name="MAX_FILE_SIZE" value="1048576"> </div> </form> </div> <div id="extend"> <?php if ( $_SERVER['REQUEST_METHOD'] == "POST" ) { // 拡張子を得る為に pathinfo $path_parts = pathinfo($_FILES['target']['name']); $file_name = uniqid() . ".{$path_parts['extension']}"; // アップロード先の パス $upload = realpath("./"); $upload .= DIRECTORY_SEPARATOR . $file_name; // アップロード先の パス の表示 print "$upload\n"; // PHP のアップロード処理( 一時ファイルを移動 ) if ( move_uploaded_file($_FILES['target']['tmp_name'], $upload ) ) { print "<p>アップロードに成功しました</p>\n"; } else { print "<p>アップロードに失敗しました</p>\n"; } // アップロード情報の表示 print_r( $_FILES ); // 画像の場合は HTML で表示 if ( stristr($_FILES['target']['type'],'image' ) != false ) { print "<img src='{$file_name}'>"; } } ?> </div> </body> </html>
|
【PHPの最新記事】
- PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )
- PHP : MySQL から JSON 文字列を返す自作(テスト用) API テンプレート
- ImageMagick を Windows(32ビット)の PHP で利用する
- PHPで、ベタベタな日付チェック。汎用的とも言うw
- PHP でカタカナのフリガナ入力のチェック
- TCPDF で罫線を引く
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの DB 処理部分
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの画像出力部分の作成
- PHP + GD : 四角形への DropShadow
- PHP : ログインとブラウザの当日日付データ
- hash_hmac は秘密鍵があるので、辞書の総当りとかでパスワードは解りませんから。パスワード抜かれるのは、フィッシングがスパイウェアか、本人が口に出した場合ですね。
- すごく当たり前の事なんですが、UTF-8N で保存されたテキストファイルをメモ帳で変更して保存したら先頭に EF BB BF という爆弾が仕掛けられるのでダメですよ
- PHP で cURL はオプションが全て。いろいろあるので、ちょっとまとめ
- 5秒毎にリロードする PHP ページ
- 実用的かどうかは置いておいて、修正画面の日付入力に jQuery のカレンダーを使用する
- PHPで使用する為にフォント(.TTC)の分解
- PHP : GD で Windows のビットマップを扱う
- 【PHP】 <?=$value?> ではない変数埋め込み手法
- PHPでサービス停止( extension=php_com_dotnet.dll )
- PHP : コマンドライン php(cli) で10進数と16進数の変換