セキュリティ上の理由から、
画像のアップロード中に画像ディレクトリに空の 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);