ホームページ バックエンド開発 PHPチュートリアル 動画撮影・アップロードアバター機能のPHP実装サンプルコード_PHPチュートリアル

動画撮影・アップロードアバター機能のPHP実装サンプルコード_PHPチュートリアル

Jul 20, 2016 am 11:12 AM
f php アップロード コード 関数 アバター 成し遂げる 私たち 写真 ビデオ 必要

PHP でビデオ写真を実装したい場合は、フラッシュ プラグインを使用する必要があります。フラッシュで実際の写真を撮影するには、PHP の $GLOBALS ['HTTP_RAW_POST_DATA'] を通じてデータを受け取り、それをファイルとして保存します。以下にそれを紹介します。

現在、携帯電話での写真撮影が非常に人気がありますが、携帯電話を使って写真を撮ったり、アバターをアップロードしたりするにはどうすればよいですか?理由は非常に簡単で、まず、携帯電話は写真情報を転送します。これはポスト転送や取得関数の転送ではありません。 この他のデータ形式は、$GLOBALS ['HTTP_RAW_POST_DATA'] を使用して転送されます。このシステム関数は post に非常に似ていますが、$GLOBALS ['HTTP_RAW_POST_DATA'] では、より豊富なデータ形式がサポートされています。詳細な違いについては、Baidu と Google を検索してください。
デザインプロセスは次のとおりです:
$GLOBALS ['HTTP_RAW_POST_DATA'] は写真データ ストリーム (バイナリ) を転送します –> 空の画像を開きます –> データ ストリームを空の画像に書き込みます – それが有効な画像であるかどうかを確認します – 完了。
写真の転送に使用されるバイナリ ストリームには、時間の観点から、写真のサイズ、形式、その他の属性が含まれていることに注意してください。携帯電話の画像情報は Web ページに転送されます。

Flash は通常、携帯電話で写真のサイズをカットするために使用されます。写真やビデオがバイナリ ストリームで構成されていることは誰もが知っています。写真はアップロードできるので、ビデオもアップロードできるでしょうか。携帯電話で写真を撮ってアバターをアップロードするのと原理は同じでしょうか?自分で調べることもできます

コードをアップロードするだけです

コードは次のとおりですコードをコピー
/*

*写真をアップロードします
* @パラメータ; * @日付:2011-8-15
* @作者:cy
* */
関数 UpImg($subdir){
// ストレージパスを設定します
if(!empty($subdir)){
$dirnow=getcwd();
$folder =$dirnow."/www.bkjia.com/".$subdir;// 画像を保存するフォルダー
If( !is_dir($folder) ) mkdir($folder);

// 画像の名前付け

$datenow=date('Ymd');

$timenow=time();
$image = $datenow.$timenow.'.jpg';

// 画像は既に存在しますか? $check = $folder . $image;

if (file_exists($check)) {

リンクを解除($check);
} その他 {
$png = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] );// 投稿されたバイナリ生データを取得します
If(!empty($png)){
$file = @fopen($folder."/".$image, "w");
fwrite($file,$png);// hzhuti.com に書き込みます
fclose($file);//閉じる
// 元の画像の場所
$write_image = $folder .$image;

}その他{
$msg = "データ ストリームがありません";

}

If(getimageInfo($write_image)){
$msg = "アップロード成功";
}else{$msg = "画像の形式が正しくありません";}
}
}その他{
$msg = "パラメータエラー";
}
$msg を返します;
}

/*
* 画像が合法かどうかを確認してください

* @パラメータ; ファイル名

* @日付:2011-8-15
* @作者:cy
* */
関数 getimageInfo($imageName = '') {
$imageInfo = getimagesize ($imageName);
If ($imageInfo !== false) {
$imageType = strto lower ( substr ( image_type_to_extension ( $imageInfo [2] ), 1 ) );
// $imageSize = ファイルサイズ ($imageInfo);
return $info = array ('width' => $imageInfo [0], 'height' => $imageInfo [1], 'type' => $imageType, 'mine' => $imageInfo ['mine '] );
} else {
// php100.comではない法的写真
false を返す;
}

}

xml-rpc を使用する場合、サーバー側は $_POST 配列ではなく、主に php 入力ストリーム入力を通じてクライアント データを取得します

上記の検出に基づいて、次の要約を作成できます:
1. Content-Type 値が application/x-www-form-urlencoded の場合、PHP は http リクエスト本文の対応するデータを配列 $_POST に埋め込み、$_POST 配列に埋め込まれたデータは次のように解析されます。 urldecode() の結果。 (実際にはContent-Typeの他にフォームデータであることを示すmultipart/form-dataもありますが、これについては後ほど紹介します)
2. Content-Type が multipart/form-data でない限り、php://input data (この条件は後で紹介します)。次に、php: //入力データは、データの http エンティティ本体部分と一致します。この部分的に一貫したデータの長さは、Content-Length によって指定されます。
3. Content-Type が application/x-www-form-urlencoded で、送信メソッドが POST メソッドである場合にのみ、$_POST データと php://input データが「一貫性」を持ちます (引用符で囲み、それを示します)。形式と内容が一貫していません)、一貫性があります)。そうでなければ、それらは矛盾します。
4. php://input は $_GET データを読み取ることができません。これは、$_GET データが http リクエストの本文部分ではなく、http リクエスト ヘッダーの PATH フィールドに query_path として書き込まれているためです。

これは、xml_rpc サーバーが file_get_contents(‘php://input’, ‘r’) を通じてデータを読み取る理由を理解するのにも役立ちます。 $_POST から読み取るのではなく、xml_rpc のデータ仕様が xml であり、その Content-Type が text/xml であるためです。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444582.html技術記事 php でビデオ撮影を実装したい場合は、フラッシュ プラグインを使用する必要があります。フラッシュで実際の写真を撮影した後、php の $GLOBALS [HTTP_RAW_POST_DATA] を介してデータを受け取り、それを画像として保存します。 .
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles