tbebest
یک شنبه 03 بهمن 1389, 11:10 صبح
سلام،
یک پنل ادمین خبر رو طراحی می کنم. یک خبر می تواند تا چهار فیلد برای عکس داشته باشد البته کاربر ملزم به انتخاب حتما 4 عکس برای خبر نیست. از این چهار عکس، عکس اول پیش نمایش خبر است و بایستی 103*103 پیکسل و حجم کمتر از 5 کیلوبایت و BLOB ذخیره می کنم و سه تا عکس دیگر بایستی عرض 650 پیکسل و حجم کمتر از 50 کیلو بایت را داشته باشند. عکس ها در فرمت jpg/gif باید باشند. عکس ها داخل فولدری درDir/newsimg آپلود می شوند و نام آنها که با تاریخ دوباره نامگذاری شده داخل فیلد های بانک ذخیره خواهد شد.
فیلدهای بانک Mysql:
id postdate title newstxt formember preimg img1 img2 img3 authr
نمونه فرم:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<div><input id="post_title" type="text" size="30" tabindex="1" value="news title" /></div>
<textarea cols="80" rows="10"></textarea>
<div >
<h3>Just For Members:</h3>
<ul>
<li>
<label><input type="checkbox" name="chbox" />yes</label></li>
</ul><BR/>
<ul>
<h4>news pics</h4>
<li><p>preimg pic must be 103*103 pixel and maxsize <5kb.
</p></li>
<li><p>
for image1,image2,image3 weightsize must ebe 650pixel and maxsize mustbe <50 kb.
</p></li>
<li>
<INPUT TYPE=file NAME="preimg" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image1" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image2" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image3" size=20 accept="image/jpeg,image/gif">
</li>
</ul>
<p>
<input type="submit" value="save" />
</p>
</div>
</form>
لطفا در مرد عبارت sql که برای ذخیره نام جدید عکس ها است و نیز چک کردن شرایط عکس ها نظر بدید.
برای شروع:
if ($_POST['submit'])
{
if ($_FILES['preimg']['name'] && ($_FILES['image1']['size'] < 5000) && ($_FILES['image1']['width'] === 103) && ($_FILES['image1']['heigth'] === 103) && (($_FILES['image1']['ext'] ==='jpg')))
{
...
}
if ($_FILES['image1']['name'] && ($_FILES['image1']['size'] < 50000) && ($_FILES['image1']['width'] === 650) && (($_FILES['image1']['ext'] ==='jpg')))
{
if (copy ($_FILES['image1']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' . NOW() . '.') . substr ($_FILES['image1']['type'], 6)))
{
unlink ($_FILES['image1']['tmp_name']);
}
}
if ($_FILES['image2']['name'] && ($_FILES['image2']['size'] < 50000) && ($_FILES['image2']['width'] === 650) && (($_FILES['image2']['ext'] ==='jpg')))
{
if (copy ($_FILES['image2']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW() . '.') . substr ($_FILES['image2']['type'], 6)))
{
unlink ($_FILES['image2']['tmp_name']);
}
}
if ($_FILES['image3']['name'] && ($_FILES['image3']['size'] < 50000) && ($_FILES['image3']['width'] === 650) && (($_FILES['image3']['ext'] ==='jpg')))
{
if (copy ($_FILES['image3']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW(). '.') . substr ($_FILES['image3']['type'], 6)))
{
unlink ($_FILES['image3']['tmp_name']);
}
}
if(isset(checkbox)) $_POST[chekbox]='True';else $_POST[chekbox]='False';
$SQL = 'INSERT INTO news VALUES('',NOW(),$_POST[post_title],$_POST[newstxt],$_POST[chekbox],$_FILES['preimg'],$_FILES['image1']['name'],($_FILES['image2']['name'],($_FILES['image3']['name']))';
if (!(mysql_query ($SQL))) exit (' CANCEL PUBLISH news!');
}
یک پنل ادمین خبر رو طراحی می کنم. یک خبر می تواند تا چهار فیلد برای عکس داشته باشد البته کاربر ملزم به انتخاب حتما 4 عکس برای خبر نیست. از این چهار عکس، عکس اول پیش نمایش خبر است و بایستی 103*103 پیکسل و حجم کمتر از 5 کیلوبایت و BLOB ذخیره می کنم و سه تا عکس دیگر بایستی عرض 650 پیکسل و حجم کمتر از 50 کیلو بایت را داشته باشند. عکس ها در فرمت jpg/gif باید باشند. عکس ها داخل فولدری درDir/newsimg آپلود می شوند و نام آنها که با تاریخ دوباره نامگذاری شده داخل فیلد های بانک ذخیره خواهد شد.
فیلدهای بانک Mysql:
id postdate title newstxt formember preimg img1 img2 img3 authr
نمونه فرم:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<div><input id="post_title" type="text" size="30" tabindex="1" value="news title" /></div>
<textarea cols="80" rows="10"></textarea>
<div >
<h3>Just For Members:</h3>
<ul>
<li>
<label><input type="checkbox" name="chbox" />yes</label></li>
</ul><BR/>
<ul>
<h4>news pics</h4>
<li><p>preimg pic must be 103*103 pixel and maxsize <5kb.
</p></li>
<li><p>
for image1,image2,image3 weightsize must ebe 650pixel and maxsize mustbe <50 kb.
</p></li>
<li>
<INPUT TYPE=file NAME="preimg" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image1" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image2" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image3" size=20 accept="image/jpeg,image/gif">
</li>
</ul>
<p>
<input type="submit" value="save" />
</p>
</div>
</form>
لطفا در مرد عبارت sql که برای ذخیره نام جدید عکس ها است و نیز چک کردن شرایط عکس ها نظر بدید.
برای شروع:
if ($_POST['submit'])
{
if ($_FILES['preimg']['name'] && ($_FILES['image1']['size'] < 5000) && ($_FILES['image1']['width'] === 103) && ($_FILES['image1']['heigth'] === 103) && (($_FILES['image1']['ext'] ==='jpg')))
{
...
}
if ($_FILES['image1']['name'] && ($_FILES['image1']['size'] < 50000) && ($_FILES['image1']['width'] === 650) && (($_FILES['image1']['ext'] ==='jpg')))
{
if (copy ($_FILES['image1']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' . NOW() . '.') . substr ($_FILES['image1']['type'], 6)))
{
unlink ($_FILES['image1']['tmp_name']);
}
}
if ($_FILES['image2']['name'] && ($_FILES['image2']['size'] < 50000) && ($_FILES['image2']['width'] === 650) && (($_FILES['image2']['ext'] ==='jpg')))
{
if (copy ($_FILES['image2']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW() . '.') . substr ($_FILES['image2']['type'], 6)))
{
unlink ($_FILES['image2']['tmp_name']);
}
}
if ($_FILES['image3']['name'] && ($_FILES['image3']['size'] < 50000) && ($_FILES['image3']['width'] === 650) && (($_FILES['image3']['ext'] ==='jpg')))
{
if (copy ($_FILES['image3']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW(). '.') . substr ($_FILES['image3']['type'], 6)))
{
unlink ($_FILES['image3']['tmp_name']);
}
}
if(isset(checkbox)) $_POST[chekbox]='True';else $_POST[chekbox]='False';
$SQL = 'INSERT INTO news VALUES('',NOW(),$_POST[post_title],$_POST[newstxt],$_POST[chekbox],$_FILES['preimg'],$_FILES['image1']['name'],($_FILES['image2']['name'],($_FILES['image3']['name']))';
if (!(mysql_query ($SQL))) exit (' CANCEL PUBLISH news!');
}