怎么自动生成htm文件

WBOY
Release: 2016-06-23 13:34:13
Original
996 people have browsed it

为安全隐患问题,

想在上传图片的同时,在图片的目录自动生成个空白的htm文件。

图片目录是根据时间定义的 所以 目录有点多。

php 怎么实现这个?


回复讨论(解决方案)

like this

if (!file_exists('index.html')){    file_put_contents('index.html', 'hello world');}
Copy after login
Copy after login

touch('index.html')

ecmall的:

function ecm_mkdir($absolute_path, $mode = 0777){    if (is_dir($absolute_path))    {        return true;    }    $root_path      = ROOT_PATH;    $relative_path  = str_replace($root_path, '', $absolute_path);    $each_path      = explode('/', $relative_path);    $cur_path       = $root_path; // 当前循环处理的路径    foreach ($each_path as $path)    {        if ($path)        {            $cur_path = $cur_path . '/' . $path;            if (!is_dir($cur_path))            {                if (@mkdir($cur_path, $mode))                {                    fclose(fopen($cur_path . '/index.htm', 'w'));                }                else                {                    return false;                }            }        }    }    return true;}
Copy after login

like this

if (!file_exists('index.html')){    file_put_contents('index.html', 'hello world');}
Copy after login
Copy after login



创建位置怎么设置

应该设置成 图片所有路径下 都自动生成个html文件

比如图片地址是 file/2015/05/20/100.gif

那应该在file目录 2015目录 05目录和20目录下 都生成个空白的html文件 不知道怎么实现啊

$imgUrl = '/file/2015/05/20/100.gif';$path = dirname($imgUrl);createHtml($path);function createHtml($path){	if (!file_exists($path . '/index.html')){	    file_put_contents($path . '/index.html', 'hello world');	}	createHtml(dirname($path));}
Copy after login
Copy after login
Copy after login

$imgUrl = '/file/2015/05/20/100.gif';$path = dirname($imgUrl);createHtml($path);function createHtml($path){	if (!file_exists($path . '/index.html')){	    file_put_contents($path . '/index.html', 'hello world');	}	createHtml(dirname($path));}
Copy after login
Copy after login
Copy after login


你自己再改一下,这个递归没有判断退出条件

$imgUrl = '/file/2015/05/20/100.gif';$path = dirname($imgUrl);createHtml($path);function createHtml($path){	if (!file_exists($path . '/index.html')){	    file_put_contents($path . '/index.html', 'hello world');	}	createHtml(dirname($path));}
Copy after login
Copy after login
Copy after login



只在 /file/2015/05/20/生成文件

我竟然写了3条 实现了 现在问题是 怎么合并代码


$file_path = 'file/';
$tm_path = 'file/'.$Y.'/'; // file/2015
$path = 'file/'.$Y.'/'.$M.'/'; // file/2015/05
file_put_contents($path . '/index.html', '111');
file_put_contents($tm_path . '/index.html', '111');
file_put_contents($file_path . '/index.html', '111');

想在上传图片的同时,在图片的目录自动生成个空白的htm文件
显然图片文件已经保存了,假定保存图片是的路径在 $img_path 中
那么只需

file_put_contents(dirname($img_path) . '/index.html', '');
Copy after login
Copy after login

如果在保存图片时不能确定相应目录是否存在,那么这样就可以了
@mkdir(dirname($img_path), 0666, true);
Copy after login
Copy after login

想在上传图片的同时,在图片的目录自动生成个空白的htm文件
显然图片文件已经保存了,假定保存图片是的路径在 $img_path 中
那么只需

file_put_contents(dirname($img_path) . '/index.html', '');
Copy after login
Copy after login

如果在保存图片时不能确定相应目录是否存在,那么这样就可以了
@mkdir(dirname($img_path), 0666, true);
Copy after login
Copy after login



所有路径的目录都要有html文件
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!