1、在 PHP 中,您可以通过网络代理来解决图片跨域问题。下面是一个简单的示例代码,使用 PHP 来代理请求远程图片并将其返回给客户端:
在下面的示例中,我们首先从 GET 请求中获取远程图片的 URL,然后使用 cURL 发起对该 URL 的请求。获取到远程图片的内容后,我们设置正确的 Content-Type 并将图片内容输出给客户端。
您可以将上述代码保存为一个名为 proxy.php 的文件,然后通过访问 proxy.php?url= 远程图片 URL 来代理请求远程图片。请注意,这只是一个简单的示例,实际应用中可能需要添加错误处理、缓存、安全性检查等功能。
<?php
// 获取远程图片 URL
$remoteImageUrl = $_GET['url'];
// 使用 cURL 发起请求
$ch = curl_init($remoteImageUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$response = curl_exec($ch);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
curl_close($ch);
// 设置响应的 Content-Type
header("Content-type:" . $contentType);
// 输出远程图片内容
echo $response;
2、以下是一个简单的 PHP 代理实现,用于代理播放远程的 MP4 视频:
在下面的示例中,我们首先从 GET 请求中获取远程视频的 URL,然后设置正确的 Content-Type 为 video/mp4
,最后使用 readfile
函数直接将远程视频的内容输出给客户端。
您可以将上述代码保存为一个名为 video_proxy.php
的文件,然后通过访问 video_proxy.php?url= 远程视频 URL
来代理播放远程的 MP4 视频。请注意,这只是一个简单的示例,实际应用中可能需要添加错误处理、缓存、安全性检查等功能。同时,需要确保您有合法获取并代理该视频的权限。
<?php
// 获取远程视频的 URL
$remoteVideoUrl = $_GET['url'];
// 设置响应的 Content-Type
header('Content-Type: video/mp4');
// 通过代理请求远程视频并输出给客户端
readfile($remoteVideoUrl);
正文完
有偿技术支持加微信
