怎么自动生成htm文件
程序员文章站
2024-01-13 15:52:46
...
为安全隐患问题,
想在上传图片的同时,在图片的目录自动生成个空白的htm文件。
图片目录是根据时间定义的 所以 目录有点多。
php 怎么实现这个?
创建位置怎么设置
你自己再改一下,这个递归没有判断退出条件
只在 /file/2015/05/20/生成文件
如果在保存图片时不能确定相应目录是否存在,那么这样就可以了
如果在保存图片时不能确定相应目录是否存在,那么这样就可以了
所有路径的目录都要有html文件
想在上传图片的同时,在图片的目录自动生成个空白的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文件