【问题标题】:Alternative to glob php替代 glob php
【发布时间】:2017-12-15 14:51:28
【问题描述】:

我正在寻找 glob 的替代函数。我得到了这个,它工作得很好。

<?php
$tipof = 'FACTURA';     
$cliente = '455928';
$files = glob("$cliente-$tipof*.pdf");
foreach ($files as $rows): ?>
    <td align="center">&nbsp;<?php echo end((explode('-', str_replace('.pdf','', $rows)))); ?> &nbsp;</td>
    <td align="center">&nbsp;<?php echo $cliente ?> &nbsp;</td>
    <td align="center">&nbsp;<?php echo "<a target=_blank href=\"".$rows."\">Ver</a>"; ?> &nbsp;</td>
    </tr>

该文件位于项目文件夹中,但如果该文件位于 URL 中,我该怎么办?例如这样的:http://192.168.0.196:8080/pdf/

在该网址中,我的文件是 455928-FACTURA-A106-8694-20171019.pdf

谢谢!

【问题讨论】:

标签: php


【解决方案1】:

您不能通过 HTTP 进行globglob 依赖于能够读取目录中所有文件的列表。 HTTP 没有“目录”的概念,也没有枚举路径部分的标准化方法。它只处理 URLs。 URL 甚至不必以任何方式与 files 相对应。 URL http://example.com/foo/bar 可以 由文件支持,或者提供此 URL 的 Web 服务器可以根据感觉动态创建响应。无法枚举所有可能的 URL,因为这些 URL 可以即时生成,因此无法通过 HTTP 发送glob

如果您的网络服务器碰巧返回了 URL http://192.168.0.196:8080/pdf/ 上的目录列表,您可以尝试解析它。

【讨论】:

    【解决方案2】:

    如果文件存储在另一台无法访问该机器的文件系统的机器上,我将创建某种端点(PHP 可以)并通过客户端中的 ajax 调用端点或获取响应使用来自 php 服务器端的 CURL,取决于您的应用程序需求。端点会将结果公开为 json 以供您的脚本使用。我不会使用 ftp 或其他方式来暴露文件系统。如果在浏览器中使用,请注意 CORS。

    【讨论】:

      猜你喜欢
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2011-03-30
      • 2011-10-21
      • 2011-08-26
      • 2011-08-30
      相关资源
      最近更新 更多