PDA

View Full Version : سوال: مشکل من با آپلود فایل در PHP



amin7x
پنج شنبه 02 شهریور 1391, 00:15 صبح
سلام دوستان من یک مشکل دارم توی PHP.

اول کد هامو میزارم بعد مشکل رو میگم:

ایندکس:


<form name="sendnews" action="cheknews.php" method="post" enctype="multipart/form-data">
<p>
<label for="newstitle">عنوان مطلب<br />
<input type="text" name="newstitle" class="input" value="" size="20" tabindex="10" /></label>
</p>
<p>
<label for="newstext">متن مطلب<br />
<textarea name="newstext" cols="5" class="input" rows="" size="20" tabindex="20"></textarea>
</p>
<p>
<label for="newsartor">نویسنده<br />
<input type="text" name="newsartor" class="input" value="" size="20" tabindex="10" /></label>
</p>
<p>
<label for="data">تاریخ<br />
<input type="text" name="data" class="input" value="" size="20" tabindex="20" /></label>
</p>
<p>
<label for="time">ساعت<br />
<input type="text" name="time" class="input" value="" size="20" tabindex="20" /></label>
</p>
<p>
<label for="file">آپلود فایل</label>
<input name="file" type="file" >
</p>
<br>
<p class="submit">
<input type="submit" name="submit" class="button-primary" value="ثبت مطلب" tabindex="100" />
</p>
</form>


صفحه چک کردن:


<?php
include("../config.php");
$con=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname",$con);
$comm="insert into news(newstitle,newstext,newsartor,data,time,file) values('$_POST[newstitle]','$_POST[newstext]','$_POST[newsartor]','$_POST[data]','$_POST[time]','$_POST[file]')";
mysql_query($comm,$con);
mysql_close($con);

echo '<p style="text-align:center;"> خبر شما با موفقيت ثبت شد </p>';
echo '<p style="text-align:center;"> اکنون به صفحه مديريت اخبار متصل ميشويد </p>';

header("location:manegnews.php");
?>


حالا مشکل من من اینه که بلد نیستم از متغیر $_FILE توی صفحه چکم استفاده کنم.

میشه بگیر چه طوری میتونم از این متغیر توی صفحه چکم استفاده کنم؟

و بعد میخوام بدونم چه طوری اسم فایلی که قراره آپلود بشه رو توی دیتابیسم ذخیره کنم.

ممنون

amin7x
پنج شنبه 02 شهریور 1391, 00:22 صبح
اگه میشه مبتدی توضیح بدید.

WOLF_MEHRDAD
پنج شنبه 02 شهریور 1391, 00:56 صبح
درود بر شما


این تکه کد میتونه کمکت کنه :
فقط در فرمتون به این صورت عمل کنید :


<input name="file[]" type="file" >



<?php
include("../config.php");
$uploaddir = './images/';
$allowed = array('jpg','jpeg','gif');
$max_size = 1024 * 1024;

foreach ($_FILES['file']['error'] as $i => $error) {
if ($error == 0 && $_FILES['file']['size'][$i] <= $max_size) {
$file_ext = pathinfo($_FILES['file']['name'][$i],PATHINFO_EXTENSION);
if (in_array(strtolower($file_ext),$allowed)) {
$new_base = time().'.'.$file_ext;
if (move_uploaded_file($_FILES['file']['tmp_name'][$i],$uploaddir.$new_base)) {
chmod($uploaddir.$new_base, 0644);
////////////////
$con=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname",$con);
$query = "INSERT INTO news(newstitle,newstext,newsartor,data,time,file) values('$_POST[newstitle]','$_POST[newstext]','$_POST[newsartor]','$_POST[data]','$_POST[time]','$new_base')";
$result = mysql_query($query,$con);
mysql_close($con);
///////////////
if($result)
{
echo "اطلاعات با موفقیت ثبت شد.";
}else{
echo "متاسفانه اطلاعات ثبت نشد.";
}
}
}
}

?>


موفق باشید