php根据访问文件路径获取文件的名称、修改时间、文件大小

解析访问到路径地址,获取相关值,代码如下:

if(!empty($url)){
                    $url = "http://ip/file/".$url;
                    // 初始化cURL会话
                    $ch = curl_init();
                    curl_setopt($ch, CURLOPT_URL, $url);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                    curl_setopt($ch, CURLOPT_HEADER, 0);

                    $html = curl_exec($ch);
                    curl_close($ch);
                    $html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
                    $dom = new \DOMDocument();
                    @$dom->loadHTML($html); // 使用@来抑制可能的警告
                    $xpath = new \DOMXPath($dom);

                    $files = [];
                    $rows = $xpath->query('//table/tr[not(th)]'); // 选择不包含表头的行
                    foreach ($rows as $row) {
                        $cells = $row->childNodes;
                        $nameCell = $cells->item(1)->getElementsByTagName('a')->item(0);
                        $timeCell = $cells->item(2);
                        $sizeCell = $cells->item(3);

                        if ($nameCell && $timeCell) {
                            $files[] = [
                                'name' => $nameCell->nodeValue,
                                'last_modified' => trim($timeCell->nodeValue),
                                'size' => trim($sizeCell->nodeValue)
                            ];
                        }
                    }
                    foreach ($files as $file) {
                        if (strpos($file['name'], '.') !== false) {
                            $file['name'] = $url.$file['name'];
                            $fileArray[] = $file;
                        }
                    }
                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值