昨天在写用迅雷下载时,发现 ./a.jpg的文件转成迅雷不是网络地址,然后写了一个方法转换。目前处在PHP基础层次,有不足还望请教。 会自动判断当前的域名与主域名,以下是形式: ./a.jpg = http://about.w.com/a.jpg; ../a.jpg =http://www.w.com/a.jpg 无 /*
昨天在写用迅雷下载时,发现 ./a.jpg的文件转成迅雷不是网络地址,然后写了一个方法转换。目前处在PHP基础层次,有不足还望请教。/**
* 相对路径转网络绝对路径
* @param string $file
* @return string
*/
function dirToHttpUrl($file) {
//判断文件是否存在
if (!file_exists($file)) {
return false;
}
//域名
$nowUrl = dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); //当前域名
$tempUrl = explode('.', $_SERVER['HTTP_HOST']);
$dirUrl = 'http://www.'.$tempUrl[1].'.'.$tempUrl[2].'/'; //主域名
//文件路径的层次统计
$tempFile = explode('../', $file);
$tempNum = array_count_values($tempFile);
if (array_key_exists('', $tempNum)) {
$fileNum = $tempNum[''];
$fileEnd = end($tempFile);
} else {
$fileNum = 0;
$fileEnd = '/'.substr($tempFile[0], 2);
}
//域名层次统计
$tempWeb = explode('/', $nowUrl);
$tempWeb = array_slice($tempWeb, 3);
$webNum = count($tempWeb);
//文件对应的域名
if ($fileNum > $webNum) {
$nowUrl = $dirUrl;
}
//返回
return $nowUrl.$fileEnd;
}
//dirToHttpUrl('./1.jpg');
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号