php-stream-wrappers 相关问题


Laravel9 response()->stream() 使用 fwrite() 得到空结果

我需要将大量数据导出为 CSV 字符串。 所以我尝试将 fopen('php://stdout', w) 与 fwrite($file, $data) 一起使用。 但 Laravel response()->stream() 不会返回任何内容,也不会出现错误。 我...



PHP 函数 ssh2_connect 不起作用

以下是我的脚本: 以下是我的脚本: <?php $connection = ssh2_connect('XX.XX.XX.XX', 22); ssh2_auth_password($connection, 'root', '******'); $stream = ssh2_exec($connection, 'useradd -d /home/users/test -m testftp'); $stream = ssh2_exec($connection, 'passwd testftp'); $stream = ssh2_exec($connection, 'password'); $stream = ssh2_exec($connection, 'password'); ?> 它显示以下错误: Fatal error: Call to undefined function ssh2_connect() in /home/chaosnz/public_html/fotosnap.net/test.php on line 2 我该如何处理这个问题? 谢谢 老实说,我建议使用 phpseclib,这是一个纯 PHP SSH2 实现。示例: <?php include('Net/SSH2.php'); $ssh = new Net_SSH2('www.domain.tld'); if (!$ssh->login('username', 'password')) { exit('Login Failed'); } echo $ssh->exec('pwd'); echo $ssh->exec('ls -la'); ?> 它更加便携、更易于使用并且功能也更加丰富。 我已经安装了 SSH2 PECL 扩展,它工作正常,感谢大家的帮助... 我已经在 ubuntu 16.4 PHP 7.0.27-0+deb9u 和 nginx 上解决了这个问题 sudo apt install php-ssh2 您需要安装ssh2 lib sudo apt-get install libssh2-php && sudo /etc/init.d/apache2 restart 这应该足以让你上路 如果您在 OSX 上运行 bomebrew,我使用以下命令来安装它: brew install php56-ssh2 这对我有用。我从这里拉它。应该还有使用 mac 端口的 Ubuntu 和 OSX。 我正在运行 CentOS 5.6 作为我的开发环境,以下内容对我有用。 su - pecl install ssh2 echo "extension=ssh2.so" > /etc/php.d/ssh2.ini /etc/init.d/httpd restart 为了扩展 @neubert 答案,如果您使用 Laravel 5 或类似版本,您可以使用更简单的 phpseclib,如下所示: 奔跑composer require phpseclib/phpseclib ~2.0 在您的控制器中添加 use phpseclib\Net\SSH2; 然后在控制器方法中使用它,例如: $host = config('ssh.host'); $username = config('ssh.username'); $password = config('ssh.password'); $command = 'php version'; $ssh = new SSH2($host); if (!$ssh->login($username, $password)) { $output ='Login Failed'; } else{ $output = $ssh->exec($command); } 今天pecl install ssh2需要旧版本的php(<=6.0). Here https://pecl.php.net/package/ssh2您可以看到支持php7和php8的最新beta版本的ssh2。所以您应该安装其中之一: pecl install ssh2-1.3.1 * 不要忘记在 php.ini 文件中启用此 ssh2.so 扩展。 我知道有答案,但我只是在这里简化答案。 我有同样的问题,我在 ubuntu 20 中使用以下解决方案修复了它: sudo apt-get install libssh2-1 php7.1-ssh2 -y 您可以根据需要更改 php 版本,例如:php7.4-ssh2 参考:https://blog.programster.org/ubuntu-16-04-install-php-ssh2-extension 适用于 WHM 面板 菜单 > 服务器配置 > 终端: yum install libssh2-devel -y 菜单 > 软件 > 模块安装程序 PHP PECL 管理点击 ssh2 立即安装点击 菜单 > 重新启动服务 > HTTP 服务器 (Apache) 您确定要重新启动此服务吗? 是的 ssh2_connect() 工作了! 我觉得这个已有 11 年历史的讨论值得更新。我从 PHPSecLib 库切换到 PHP 7 和 8 的内置 SSH2 库,因为它似乎连接速度更快并且更标准。现在它还可以使用密钥密码,因此无需再使用第 3 方库。


在Linux中运行PHP:如何修复“PHP启动:无法加载动态库”问题?

我已经确定了 php 的路径,但在 Ubuntu 22.04 中遇到以下 php 错误,我想我需要加载 Mysqlnd 和 mysqli 来解决此问题 root@xxxx:~# php --ini PHP 警告:PHP St...


安装node npm 不断出现错误消息

我正在安装这些 npm 软件包: npm 我表达 body-parser bcrypt cors dotenv gridfs-stream multer multer-gridfs-storage 头盔 morgan jsonwebtoken mongoose 但是,当...


来自具有阻塞操作的迭代器的 Akka 源代码

Source.fromIterator 上的 Akka 文档 (https://doc.akka.io/docs/akka/current/stream/operators/Source/fromIterator.html) 说: 如果迭代器执行阻塞操作,请确保 r...


如何在 Ubuntu 上更改 PHP 版本

我已经在 Ubuntu 上安装了 PHP 7: php-v PHP 7.0.5-2+deb.sury.org~trusty+1 (cli) ( NTS ) 版权所有 (c) 1997-2016 PHP 集团 Zend Engine v3.0.0,版权所有 (c) 1998-2016 Zend Technologies 机智...


无法在 centos 7 上下载存储库“pgdg-common”的元数据

当我尝试在 CentOS Stream 8 上安装或更新软件包时,会出现此错误 [root@e2e-101-138 \~\]# sudo yum update RHEL / Rocky 8 的 PostgreSQL 通用 RPM - x86_64 ...


如何在Dijkstra中一行使用Java Stream

我正在尝试实现 Dijkstra 并且也在学习流。我无法使用流实现以下代码片段。我正在尝试使用流来迭代地图,过滤关键基础...


使用 Java 8 Stream API 从对象列表中收集列表

我有一堂这样的课 公共类示例{ 私人列表 ID; 公共 getIds() { 返回这个.ids; } } 如果我有一个此类的对象列表,如下所示 ...


使用brew将PHP更新到7.4 macOS Catalina

我尝试使用brew 将 macOS Catalina 上的 PHP 版本更新到 7.4。 我做了brew install [email protected] 如果我检查我的版本 php -v,我仍然看到旧版本 PHP 7.3.11? 我需要做什么? 更新: 之后


删除 Firestore 到 BigQuery 扩展的更改日志中的旧行

我正在使用 Firebase Extension Stream Firestore to BigQuery 将数据导出到 BQ。 它工作得很好,我已经使用它好几年了。 然而,桌子的大小正在开始......


迁移到 CentOS Stream 9

据我们所知,CentOS 7 将于 6 月 24 日停产。我目前在我的网络中安装了 7.9 核心,但是由于 EOL 和其他安全风险,我想知道我的最佳选择是什么。


Java Stream 中多个对象属性的累积和

我有一个按月年字符串属性排序的对象列表。 我的对象类定义如下: 公共类 Obj { 字符串年份; 会员数量长; 长期非会员人数; 双


多个对象属性Stream的累加和

我有一个按月年字符串属性排序的对象列表。 我的对象类定义看起来像 公共类Obj{ 字符串年份; 会员数量长; 长期非会员人数; 双


Java 和 Xerces:找不到属性 XMLConstants.ACCESS_EXTERNAL_DTD

我在这个博客上查找了类似的帖子,但找不到我的问题的答案,所以我决定寻求帮助。 我用 Java 编写了这个简单的函数: public void open(InputStream stream) 抛出


提高Java/Stream/filter的响应时间

我正在使用流(filter/anyMatch)对两个对象列表进行比较。两个列表的大小最多可达一百万个对象。 我用下面的代码进行了测试。通常t的大小...


在Java中将流转换为字符串

我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 公开 我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 public <K, V extends Comparable<? super V>> String sortByAscendentValue(Map<K, V> map, int maxSize) { StringBuilder sBuilder = new StringBuilder(); Stream<Map.Entry<K,V>> sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); BufferedReader br = new BufferedReader(new InputStreamReader((InputStream) sorted)); String read; try { while ((read=br.readLine()) != null) { //System.out.println(read); sBuilder.append(read); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } sorted.limit(maxSize).forEach(System.out::println); return sBuilder.toString(); } 您可以将条目收集到一个String中,如下所示: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(e-> e.getKey().toString() + "=" + e.getValue().toString()) .collect(Collectors.joining (",")); 考虑对 @Eran 的代码进行轻微更改,因为 HashMap.Entry.toString() 已经通过 = 为您加入了: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(Objects::toString) .collect(Collectors.joining(",")); 这很容易做到,您可以使用 Steams API 来做到这一点。首先,将映射中的每个条目映射到单个字符串 - 键和值的连接字符串。一旦你有了这个,你就可以简单地使用 reduce() 方法或 collect() 方法来做到这一点。 使用“reduce()”方法的代码片段将如下所示: Map<String, String> map = new HashMap<>(); map.put("sam1", "sam1"); map.put("sam2", "sam2"); String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .reduce("", (str1,str2) -> str1 + " , " + str2).substring(3); System.out.println(concatString); 这将为您提供以下输出: sam2 : sam2 , sam1 : sam1 您还可以使用 collect()' method instead ofreduce()` 方法。它看起来像这样: String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .collect(Collectors.reducing("", (str1,str2) -> str1 + " , " + str2)).substring(3); 两种方法给出相同的输出。


HttpMediaTypeNotSupportedException:从 AWS Lambda 运行 SpringBoot REST 应用程序时不支持内容类型“application/octet-stream”

我正在尝试在 AWS Lambda 中运行 Spring Boot 应用程序(例如,各种示例使用与 https://www.baeldung.com/spring-boot-aws-lambda 基本相同的方法 - 只需复制代码和...


如何在 C++/WinRT (WinUI3) 中将图像从内存读取到 ImageSource?

[1] 我想在 XAML 中显示 Image 控件的图像,但该图像来自字节数组。 我应该怎么办?图像格式可以是JPG、BMP或PNG之一。 [1] 我想在 XAML 中显示 Image 控件的图像,但该图像来自字节数组。 我该怎么办?图像格式可以是 JPG、BMP 或 PNG 之一。 <Image x:Name="img"/> void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data img().Source(???); // what should I do? } [2] 我尝试了InMemoryRandomAccessStream,但没有成功。 我知道在C#中使用MemoryStream很方便,但是如何在C++中实现它? 另一个问题是这个方法是否也适用于JPG和PNG格式的图像? void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; winrt::Windows::Storage::Streams::InMemoryRandomAccessStream stream; // How to read data from stream? bmp.SetSource(stream); img().Source(bmp); } [3] 现在功能已经实现了,但是还有两个问题 IAsyncAction MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; winrt::Windows::Storage::Streams::InMemoryRandomAccessStream stream; winrt::Windows::Storage::Streams::DataWriter dw(st.GetOutputStreamAt(0ULL)); dw.WriteBytes({ buf, size }); // This is very inefficient! co_await dw.StoreAsync(); dw.Close(); bmp.SetSource(stream); img().Source(bmp); stream.Close(); } 首先,我发现DataWriter::WriteBytes()确实是在复制数据。但我认为ImageSource只需要从我的buf中读取即可,不需要在读取之前将整个图像完全复制到流中。也许是类似MemoryView的东西,我这样想是不是错了? 其次,DataWriter和InMemoryRandomAccessStream的Close()应该在哪里调用? BitmapImage需要释放内存吗?这里有一个异步函数,我不知道应该写在哪里 [4] 根据IInspectable,我尝试了SHCreatMemStream并搜索了大量信息以提出另一个解决方案。目前的问题是,与方法[3]同样可行,但仍然会出现内存分配问题。 #include "Shlwapi.h" #include "shcore.h" #pragma comment(lib, "shlwapi.lib") void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) { unsigned long long size; // iamge data size const unsigned char* buf; // image data winrt::Microsoft::UI::Xaml::Media::Imaging::BitmapImage bmp; IStream* stream{ SHCreateMemStream(buf, size) }; // Copying takes a lot of time static const GUID guidIRandomAccessStream = { 0x905a0fe1, 0xbc53, 0x11df, { 0x8c, 0x49, 0x00, 0x1e, 0x4f, 0xc6, 0x86, 0xda } }; winrt::Windows::Storage::Streams::IRandomAccessStream pRas{ }; CreateRandomAccessStreamOverStream(stream, BSOS_OPTIONS::BSOS_DEFAULT, guidIRandomAccessStream, (void**)&pRas); bmp.SetSource(stream); img().Source(bmp); } 通过性能测试,发现CreateRandomAccessStreamOverStream的时间是一致的,但是SHCreateMemStream消耗的时间与图像大小成正比。可以得出,SHCreateMemStream中创建流的过程也涉及到内存的复制。 我对Windows编程中的Stream不是特别熟悉。创建流的过程一定会涉及到内存复制吗?从内存加载图像可以避免额外的开销吗?还有没有类似MemoryStreamView的结构来替代吗? 还有一个问题,我知道新的图像肯定需要内存存储。 BitmapImage设置Stream为Source会接管Stream占用的内存吗? Image控件设置BitmapImage作为Source会接管BitmapImage占用的内存吗? 如果是这样的话,我可以接受Stream分配新的内存,否则仍然是一个效率问题。 谢谢!!!!!!! 使用Stream已经彻底解决了这个问题。如前四期所述。 至于附加问题: ★1 使用 CreatStreamOnHGlobal 而不是 SHCreatMemStream。 因为SHCreatMemStream在调用过程中会对传入的内存块参数进行另一次内存复制。 CreatStreamOnHGlobal 创建流后不执行内存复制。您可以先通过GlobalAlloc分配内存,写入所需的图像数据,然后调用CreatStreamOnHGlobal,无需任何时间开销。另外,可以将CreatStreamOnHGlobal的第二个参数设置为true,自动释放GlobalAlloc分配的内存。 通过进程内存监控,我发现对于同一个程序,使用CreatStreamOnHGlobal的速度是SHCreatMemStream的两倍,并且不会导致内存泄漏。 ★2 创建的Stream需要调用Release方法减少一个引用。 IRandomAccessStream作为局部变量,会自动析构,无需主动释放。 并且BitmapImage还管理一部分引用,这些引用在离开作用域后被释放。 通过测试COM对象上Release方法的返回值,发现整个程序结束后引用计数又回到了0


如何在 PHP 中找到 cURL POST 请求的结果?

我是 PHP 新手,正在尝试用 PHP 编写一个简单的 cURL POST 请求。感谢 PHP Pot,我找到了以下可以使用的代码(仅修改我的用例的 URL 和数据)。 $url = 'ht...


如何在浏览器中的HTML页面上显示PHP代码? [重复]

如何用PHP编写PHP代码?我想这样做,但它不起作用: '; ?> 希望有人能给我提示 非常感谢


AWS 使用 Cloudformation 为 Kinesis Firehose 放置订阅筛选器 - 检查给定的 Firehose 流是否处于活动状态

按照本指南创建 Kinesis Firehose Stream。 我已按照指南进行操作,当我开始创建订阅过滤器(步骤 12)时,我在尝试发送到 S3 时遇到此错误: 一个


如何在 Windows 上为不同的虚拟主机配置不同 php 版本的 Apache 配置

我正在 Apache 2.4 / Windows 10 的 httpd.config 中测试不同的语法,以便为不同的虚拟主机提供不同的 php 版本。 Domain1 应具有 PHP 8.1,Domain2 应使用 PHP 运行...


Php 邮件程序类无法在 Ubuntu 数字海洋服务器上运行

Php 邮件程序类的状态为 true,但未在 Ubuntu 数字海洋服务器上发送电子邮件。 我正在使用 php 版本 7.4 和 php mailer 类版本 5.1 $email_body = "请验证您的帐户...


php 进度条与输出缓冲区

我在 Apache 上使用 php 8.0 fpm 和 proxy_fcgi。 服务器版本:Apache/2.4.58(Ubuntu) 我有一个 PHP 脚本,需要大约 20 秒才能执行... 我想要一个进度条显示


使用 JS 和 PHP SQL 查询获取 JSON 数据

函数 fetchBooks() { fetch('圣经书.php') .then(响应=> { 如果(!response.ok){ throw new Error('网络响应不正常'); } 返回response.json(); ...


如何在php中创建avif文件?

有人知道如何用php编写avif图像文件吗? 对于 webp 文件,我有 imagewebp 函数。但阿维夫? 在不同的服务器上使用 PHP 版本 7.4、7.1 和 7.2。 非常感谢


BREW 无法在本地主机 PHP 上运行

我在本地主机服务器上使用 BREW 时遇到一些问题。我通过Mac上的终端安装了brew,并使用brew安装了FREETDS。我还将默认 PHP 更改为 MAMP PHP。 跑步...


PHP 惰性布尔求值

我有一个条件语句: if($boolean && luckyOperation()){ ...} PHP 是否有惰性布尔求值,即它是否会检查 $boolean,如果它是 false,则不执行...


PHP 正在截断 HTML 输入中的变量[重复]

我正在运行的 PHP 脚本遇到了一个有趣的怪癖。每当我设置一个包含多个单词的 PHP 变量,并将 HTML 输入的值设置为该变量时,变量的内容...


sweetalert2 脚本在得到回显时不会在 php 中显示弹出消息

sweetalert2 脚本无法被 php 使用 echo 识别。我在 github 上下载了脚本文件,当我将 sweetalert 脚本放入 php 时,脚本消息不会显示在我的上。但是当我把


未定义的变量:Laravel 8 上的 __env

这是我的代码: @foreach($comments->where("id_answered_comment", null) as $comment) @php


从提供的 DBF 输入字符集转换为 UTF-8、PHP SHAPEFILE 时出错

我正在使用 lib、gasparesganga/php-shapefile 来读取 shapefile。 公共静态函数 getShapefile(string $url): ?ShapefileReader { $shapefile = null; $tmp = Utils::tempdir(


mod_rewrite到子目录中相应的php文件

我想使用 mod_rewrite (在 .htaccess 中)将“干净”的 URL 映射到子目录中相应的 php 文件,例如: https://example.com/test/ --> https://example.com/p/test.php 我的...


PHP - 带 POST 验证的 for 循环

我是 PHP 新手,我正在做一些非常简单的应用程序(测试)。 我有一个包含以下代码的表单: if ($_SERVER["REQUEST_METHOD"] == "POST") { 如果(空($_POST["val1&...


Imagick PHP 扩展如何定位 ImageMagick 库?

来自文档:“PHP 扩展 Imagick 通过调用 ImageMagick 库来工作”。 我不清楚它如何调用 ImageMagick 库。它搜索什么路径,这些路径在哪里


如何通过PHP使用Nominatim API

这是主题如何通过 PHP 使用 Nominatim API 检索纬度和经度?这是 2017 年 6 月提出的问题。 目前,我只得到空的回复。还在吗


数组内的多个数组[重复]

我正在尝试从多个数组中获取文本,我得到了第一个和第二个数组,但无法从第三个数组中获取文本。 你可以在这里看到我的代码: 我正在尝试从多数组中获取文本,我得到了第一个和第二个数组,但无法从第三个数组中获取文本。 你可以在这里看到我的代码: <div class="personTools"> <ul> <?php for ($i = 0; $i < count($toolsMenu["TOOLS_MENU"]) ; $i++){ ?> <div class="dropdown"> <li><?php echo $toolsMenu["TOOLS_MENU"][$i]; ?> <span class="fa fa-caret-down"></span></li> <div class="dropdown-content"> <?php for ($d = 0; $d < count ($toolsMenu["TOOLS_MENU"][$i]); $d++) { ?> <li><?php echo $toolsMenu["TOOLS_MENU"][$i][$d]; ?> </li> <?php } ?> </div> </div> <?php } ?> </ul> </div> 我的数组在这里: $toolsMenu = array( "TOOLS_MENU" => array( "تجربة 1" => array(1, 2, 3, 4), "تجربة 2" => array(1, 2, 3, 4), "تجربة 3" => array(1, 2, 3, 4), "تجربة 4" => array(1, 2, 3, 4) ) ); 我的问题是:为什么我会收到此消息? Notice: Undefined offset: 0 in C:\wamp64\www\mazadi\tmpl\html.tpl on line 当给出 foreach() 时,为什么要使用 for():- <div class="personTools"> <ul> <?php foreach ($toolsMenu["TOOLS_MENU"] as $key=> $toolsM){ ?> <div class="dropdown"> <li><?php echo $key; ?> <span class="fa fa-caret-down"></span></li> <div class="dropdown-content"> <?php foreach ($toolsM as $tools) { ?> <li><?php echo $tools; ?> </li> <?php } ?> </div> </div> <?php } ?> </ul> </div> 注意:- 如果您能够使用 for 处理事情,请尽可能避免 foreach() 循环,因为 foreach() 会处理索引本身,而 for 循环则不会。


当我在 PHP 中单击“下载”时,下载的是 .php 文件而不是 .pdf 文件

经过一番努力,我能够将pdf文件存储到MySql数据库中,然后通过检索在浏览器中打开它们。我的问题是,当我单击下载选项时,它会下载为 .php f...


需要从 SQLite3Result 获取所有结果到多数组

与 php 和 sql3lite 相关的问题。我想从 SQLite3Result 获取多数组。我发现功能正是我需要的http://php.net/manual/en/sqlite3result.fetcharray.php 我尝试(php代码): $


在 PHP 中创建短代码功能(搜索文本中的短代码,用链接替换短代码)

我正在尝试在我的网站上用 PHP 创建自己的短代码(直接 PHP,无 CMS)。我有一个大型数据库,想向许多文本字段添加短代码,以进行链接和其他...


ImageMagick 扩展在此 PHP 安装中不可用

我正在使用 Laravel 10 和我的 PHP 版本 => 8.2.12。 我正在使用 Xampp 进行可能的项目。我无法解决此错误 if ($request->hasFile('product_images')) { // $productImageModel = 应用程序(


Windows 上的 httpd.conf:找不到 API 模型结构 `php8_module`

我正在尝试按照这些指南在 Windows 上安装 PHP、Apache 和 MySQL。有时,系统会提示我编辑 httpd.conf 以指向我的 PHP 安装。 apache 目录和...


尝试获取非对象的属性 - 从空值创建默认对象

PHP 注意:尝试获取第 11 行 /public_html/classes/processor.php 中非对象的属性 PHP 警告:在 /public_html/classes/processor.php 上从空值创建默认对象...


Python SimpleHTTPServer 与 PHP

我使用了 python -m SimpleHTTPServer,但是 PHP 文件没有执行,而是只是被下载了。 我在一篇旧帖子中听说过 WPHP。但我不知道如何使用它。 我如何使用它?


在 PHP 中,如何调用字符串中插值的函数?

假设我的字符串是: $str = "abcdefg foo() hijklmopqrst"; 如何让 PHP 调用函数 foo() 并将返回的字符串插入到该字符串的其余部分?


PHP - 多维数组到一维数组

我一直在尝试将多维数组转换为单维数组。我尝试过使用 PHP 数组内置函数,但无法获得所需的输出。 问题 我有多维...


在 Docker 中运行 Blackfire 与 PHP Swoole 时出现问题

有人成功地将Blackfire与Swoole一起使用吗?我已经尝试设置了几天,但没有成功。 我在 PHP-CLI Swoole Dockerfile 中调用以下脚本: #!/我们...


PHP - 完整显示远程页面的内容

我需要获取远程页面,修改一些元素(使用“PHP Simple HTML DOM Parser”库)并输出修改后的内容。 没有完整 URL 的远程页面存在问题...


© www.soinside.com 2019 - 2024. All rights reserved.