Php 使用url行从txt获取文件大小
我想知道如何从txt中的url行获取文件大小,然后将获取的文件大小返回到单个txt。我已经找到了这段代码,但我无法将所有大小输出到一个txt文件中Php 使用url行从txt获取文件大小,php,file,url,size,Php,File,Url,Size,我想知道如何从txt中的url行获取文件大小,然后将获取的文件大小返回到单个txt。我已经找到了这段代码,但我无法将所有大小输出到一个txt文件中 function getRemoteFilesize($url, $formatSize = true) { $head = array_change_key_case(get_headers($url, 1)); // content-length of download (in bytes), read from Content-
function getRemoteFilesize($url, $formatSize = true)
{
$head = array_change_key_case(get_headers($url, 1));
// content-length of download (in bytes), read from Content-Length: field
$clen = isset($head['content-length']) ? $head['content-length'] : 0;
// cannot retrieve file size, return "-1"
if (!$clen) {
return -1;
}
if (!$formatSize) {
return $clen; // return size in bytes
}
$size = $clen;
switch ($clen) {
case $clen < 1024:
$size = $clen .' B'; break;
case $clen < 1048576:
$size = round($clen / 1024, 2) .' KiB'; break;
case $clen < 1073741824:
$size = round($clen / 1048576, 2) . ' MiB'; break;
case $clen < 1099511627776:
$size = round($clen / 1073741824, 2) . ' GiB'; break;
}
return $size; // return formatted size
}
$url = 'url_here';
echo getRemoteFilesize($url); // echoes "7.51 MiB"
函数getRemoteFilesize($url,$formatSize=true)
{
$head=array_change_key_case(get_headers($url,1));
//下载的内容长度(字节),从内容长度:字段读取
$clen=isset($head['content-length'])?$head['content-length']:0;
//无法检索文件大小,返回“-1”
如果(!$clen){
返回-1;
}
如果(!$formatSize){
return$clen;//返回字节大小
}
$size=$clen;
交换机($clen){
案例$clen<1024:
$size=$clen.'B';break;
案例$clen<1048576:
$size=round($clen/1024,2)。'KiB';break;
案例$clen<1073741824:
$size=round($clen/1048576,2)。'MiB';break;
案例$clen<109951162776:
$size=round($clen/1073741824,2)。'GiB';break;
}
return$size;//返回格式化大小
}
$url='url_here';
echo getRemoteFilesize($url);//呼应“7.51 MiB”
此处没有任何内容试图写入文件。不清楚“然后将获得的文件大小返回到单个txt”是什么意思。这个问题是关于如何编写txt文件的吗?如果是,请将您的示例简化为这个问题(因为这里的代码似乎工作正常)。我们可以假设(因为您的问题非常模糊),您有一个URL列表,文本文件中每行一个URL吗?您想对该文本文件中的每个URL运行getRemoteFilesize吗?很好地读取文件,在每一行上循环,为每一行调用getRemoteFilesize,并将结果发送到输出文件。输出文件必须先打开、写入,然后关闭。