Maison  >  Article  >  développement back-end  >  怎么自动生成htm文件

怎么自动生成htm文件

WBOY
WBOYoriginal
2016-06-23 13:34:131021parcourir

为安全隐患问题,

想在上传图片的同时,在图片的目录自动生成个空白的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文件
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn