我想我错过了下面的代码...也许你可以帮忙
<?php
$imageurl = $pagename1;
$imageurl = preg_replace('/\.asp/', ''.$g_sites_img2.'.jpg', $pagename1);
$filename = $_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurl;
if (file_exists($filename)) {
echo '<img src="'.$mainurl.'/images'.$imageurl.'" width="'.$g_sites_img2.'" align="left" />';
} else {
$imgremoteurl = $imgremoteurl.str_replace(' ', '_', strtolower($g_page_identify));
$imageurlfolder = dirname($pagename1);
mkdir($_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurlfolder, 0755, true);
copy('http://www.dominate-seo.com/images/'.$imgfolder.'/'.$imgremoteurl.'.jpg', $_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurl);
$thumb = new Imagick($_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurl);
$thumb->scaleImage($g_sites_img2, 0);
$thumb->writeImage($_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurl);
$thumb->destroy();
}
?>
该代码用于检查图像是否存在。如果图像不存在,则应创建图像文件夹,但如果图像文件夹已存在则不应创建图像文件夹。这就是我的问题所在。如果该文件夹存在,则会给我一个错误
警告:mkdir()[function.mkdir]: 文件存在于 /家/的Game1 /的public_html /包括
如果我刷新页面,则在创建文件时错误消息会消失。
如何编写脚本以便检查文件夹,如果它存在则不会抛出错误?
答案 0 :(得分:3)
如果目录不存在,则is_dir()方法返回false。您可以使用此检查替换mkdir()行,而不仅仅是抑制错误:
if(!is_dir($_SERVER{'DOCUMENT_ROOT'} . '/images' . $imageurlfolder)) {
// Create the directory since it doesn't exist.
mkdir($_SERVER{'DOCUMENT_ROOT'} . '/images' . $imageurlfolder, 0755, true);
}
答案 1 :(得分:2)
您正在显示所有错误。对于此操作,我认为最简单的方法是尝试创建文件夹并通过在mkdir前添加“@”符号来抑制错误消息:
@mkdir($_SERVER{'DOCUMENT_ROOT'}.'/images'.$imageurlfolder);