セキュリティ上の理由から、
画像のアップロード中に画像ディレクトリに空の HTML ファイルを自動的に生成したいと考えています。
画像ディレクトリは時間に基づいて定義されているため、多くのディレクトリがあります。
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 です
その後、ファイル ディレクトリに生成される必要があります、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_path = 'file path = 'file /'.$Y.'/'.$M.'/'; // file/2015/05
file_put_contents($path . '/index.html', '111'); 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);
あとは
file_put_contents(dirname($img_path) . '/index.html', '');
@mkdir(dirname($img_path), 0666, true);