Implémenter la photographie vidéo en php
Cet article présente principalement l'implémentation de la photographie vidéo en php. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Processus de conception : $GLOBALS ['HTTP_RAW_POST_DATA'] transmet le flux de données photo (binaire) –> Ouvrir une image vierge –> Est-ce une image valide ? C'est fait.
Notez que le flux binaire de la photo contient déjà la taille, le format et d'autres attributs de la photo. En termes de temps, il s'agit de transférer les informations de l'image du téléphone portable vers la page Web.
Sur les téléphones mobiles, le flash est généralement utilisé pour réduire la taille des photos. Tout le monde sait que les images et les vidéos sont composées de flux binaires. Puisque les images peuvent être téléchargées, les vidéos peuvent-elles être téléchargées ? Le principe est-il le même que prendre des photos avec un téléphone portable et télécharger des avatars ? Vous pouvez le rechercher vous-même.
Le code est le suivant
/* * 上传图片类 * @parameter; 用户ID * @date:2015-10-08 * @author:cy * */ function UpImg($subdir){ // 设置存储路径 if(!empty($subdir)){ $dirnow=getcwd(); $folder =$dirnow."/www.php100.com/".$subdir;// folder where to save images if( !is_dir($folder) ) mkdir($folder); // 图片命名 $datenow=date('Ymd'); $timenow=time(); $image = $datenow.$timenow.'.jpg'; // 图片是否已存在 $check = $folder . '/' . $image; if (file_exists($check)) { unlink($check); } else { $png = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] );//得到post过来的二进制原始数据 if(!empty($png)){ $file = @fopen($folder."/".$image, "w"); fwrite($file,$png);//写入 hzhuti.com fclose($file);//关闭 // orignal image location $write_image = $folder . '/' . $image; }else{ $msg = "没有数据流"; } if(getimageInfo($write_image)){ $msg = "上传成功"; }else{$msg = "图片格式不正确";} } }else{ $msg = "参数错误"; } return $msg; } /* * 检测图片是否合法 * @parameter; 文件名 * @date:2011-8-15 * @author:cy * */ function getimageInfo($imageName = '') { $imageInfo = getimagesize ( $imageName ); if ($imageInfo !== false) { $imageType = strtolower ( substr ( image_type_to_extension ( $imageInfo [2] ), 1 ) ); // $imageSize = filesize ( $imageInfo ); return $info = array ('width' => $imageInfo [0], 'height' => $imageInfo [1], 'type' => $imageType, 'mine' => $imageInfo ['mine'] ); } else { //不是 php100.com 合法的图片 return false; } }
Lors de l'utilisation de xml-rpc, le côté serveur obtient les données client, principalement via l'entrée du flux d'entrée php, plutôt que le tableau $_POST
Sur la base des détections ci-dessus, nous pouvons tirer les conclusions suivantes :
1. Lorsque la valeur Content-Type est application/x-www-form-urlencoded, PHP remplira le champ correspondant. données du corps de la requête http Entrez le tableau $_POST Les données renseignées dans le tableau $_POST sont le résultat de l'analyse urldecode(). (En fait, en plus du Content-Type, il existe également multipart/form-data pour indiquer que les données sont des données de formulaire, que nous présenterons plus tard)
2. php://input data, tant que le Content-Type n'est pas multipart/form-data (cette condition sera introduite plus tard). Ensuite, php: //les données d'entrée sont cohérentes avec la partie du corps de l'entité http des données. La longueur de ces données partiellement cohérentes est spécifiée par Content-Length.
3. Uniquement lorsque le Content-Type est application/x-www-form-urlencoded et que la méthode de soumission est la méthode POST, les données $_POST et les données php://input sont "cohérentes" (avec des guillemets à indiquer leurs formats) Contenu incohérent et cohérent). Sinon, ils sont incohérents.
4. php://input ne peut pas lire les données $_GET. En effet, les données $_GET sont écrites dans le champ PATH de l'en-tête de la requête http en tant que query_path, plutôt que dans la partie corps de la requête http.
Cela nous aide également à comprendre pourquoi le serveur xml_rpc lit les données via file_get_contents('php://input', 'r'). Au lieu de lire depuis $_POST, c'est précisément parce que la spécification de données de xml_rpc est xml et que son Content-Type est text/xml.
Rendu :
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun .
Recommandations associées :
Système de gestion de téléchargement de fichiers php
idées php pour l'envoi d'e-mails
Utilisez le module APC de PHP pour créer une barre de progression de téléchargement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

Alipay Php ...

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.
