怎么自动生成htm文件

WBOY
发布: 2016-06-23 13:34:13
原创
997 人浏览过

为安全隐患问题,

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

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

php 怎么实现这个?


回复讨论(解决方案)

like this

if (!file_exists('index.html')){    file_put_contents('index.html', 'hello world');}
登录后复制
登录后复制

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;}
登录后复制

like this

if (!file_exists('index.html')){    file_put_contents('index.html', 'hello world');}
登录后复制
登录后复制



创建位置怎么设置

应该设置成 图片所有路径下 都自动生成个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));}
登录后复制
登录后复制
登录后复制

$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));}
登录后复制
登录后复制
登录后复制


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

$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));}
登录后复制
登录后复制
登录后复制



只在 /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', '');
登录后复制
登录后复制

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

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

file_put_contents(dirname($img_path) . '/index.html', '');
登录后复制
登录后复制

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



所有路径的目录都要有html文件
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!