Exemple de code de méthode PHP pour recevoir le flux de fichiers envoyé par l'application

怪我咯
Libérer: 2023-03-14 11:36:02
original
2096 Les gens l'ont consulté

Cet article présente principalement la méthode par laquelle PHP reçoit le côté application pour envoyer des flux de fichiers, impliquant des compétences liées aux opérations de transfert de fichiers basées sur PHP curl, les amis dans le besoin peuvent s'y référer

L'exemple de cet article raconte la méthode côté application de réception PHP pour envoyer un flux de fichiers. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Solution :

1 Le client télécharge plusieurs images en boucle, avec des paramètres et des combinaisons en utilisant. certaines règles Produisent un flux de données (données d'image à la fin)
2. Utilisez le flux de données pour la transmission, et le serveur php utilise file_get_content('php://input') pour recevoir
3. , le flux de données sera traité selon les règles Split, extraira les données d'image finales et les écrira dans le fichier image

Exemple de code :

Ce qui suit Le code consiste à envoyer une seule image et un fichier PHP de paramètres. Plusieurs images peuvent être appelées en boucle.

<?php
/* curl_post.php */
// 设置请求的POST地址,必须是包含网址的域名,不能是相对路径
$url = &#39;http://www.xxx.com/post.php&#39;;
$pic_data = file_get_contents(&#39;./me.jpg&#39;);
$data = [
  &#39;username=chafang_&#39;.rand(100, 999),
  &#39;password=&#39;.md5(&#39;123456&#39;),
  &#39;pic=&#39; => $pic_data, // 这里存放图片数据
];
// 使用 &#39;#####&#39; 进行分割数组
$strData = implode(&#39;#####&#39;, $data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $strData);
$data = curl_exec($curl);
curl_close($curl);
// 显示post的返回值
echo ($data);
Copier après la connexion

Recevoir le fichier PHP demandé par curl et renvoyer le format json

<?php
/* post.php */
$content = file_get_contents("php://input");
$domain = &#39;http://www.xxx.com/&#39;;
// 注意这里需要有写权限
$filename = &#39;update/&#39;.time().&#39;_&#39;.rand(100000, 999999).&#39;.jpg&#39;;
$data = explode(&#39;#####&#39;, $content, 3);
$count = count($data);
$result = [];
// 如果文件写入成功
if (file_put_contents($filename, $data[$count - 1]))
{
  // 删除数据中最后一个元素(就是图片)
  unset($data[$count - 1]);
  foreach ($data as $val)
  {
    // 返回参数,且参数值不能存在 &#39;=&#39; 号
    $tmp = explode(&#39;=&#39;, $val, 2);
    $result[$tmp[0]] = $tmp[1];
  }
  // 组合图片访问地址
  $result[&#39;pic&#39;] = $domain.$filename;
}
echo json_encode($result);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!