如何在站点URL之后使用PHP函数preg_replace()命名.txt文件

时间:2016-07-30 15:44:58

标签: php preg-replace fopen

如何在没有上述https://http://的网站网址后命名 txt 文件,如下所示:www.google.com.txt
我想我可能在这里弄错了:fopen($sitenameWithoutHTTP.".txt, "w");

以下是我试图解决的问题:

<?php
//
@mkdir("result", 0755); 
@chdir("result");
$link = $sitename;
$sitename = preg_replace('#^https?://#', '', $sitenameWithoutHTTP);
$resultfile = fopen($sitenameWithoutHTTP.".txt", "w");
//
?>

感谢您帮助找到解决方法。

2 个答案:

答案 0 :(得分:0)

$arr = ['http','https',':','/','?','&','#','.'];

$sitename = str_replace($arr, '', $sitenameWithoutHTTP);

您也可以使用base64_encode(),或使用parse_url()

$HOST = parse_url($sitenameWithoutHTTP, PHP_URL_HOST);

如果您需要保存真实网址并再次获取,我会看到使用Md5哈希的最佳方式

$fileName = md5($sitenameWithoutHTTP).'.txt';

可以再次获取file.php/?getFile2url=[httpLink]

header('Location: '. Md5($_GET['getFile2url']).'.txt');
exit;

答案 1 :(得分:0)

希望这可以帮助您达到预期目标!

<?php
$siteName = 'https://www.google.com';

$siteNameWithoutHttps = preg_replace('#^https?://#', '', $siteName);

// print_r($siteNameWithoutHttps);

$resultFile = fopen($siteNameWithoutHttps.".txt", "w");

// run a check
if($resultFile == true) {
echo "success";
} else {
echo "failed";
}

上面评论的 print_r 的预期结果应为:

www.google.com