怎么自动生成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學習者快速成長!