PDA

View Full Version : یک مشکل کوچیک در فروم آپلود



thinkdiff
دوشنبه 24 شهریور 1393, 09:20 صبح
سلام
این کد های من هست :


<?php
if(isset($_POST['f-sub'])){
$img_idd = time();
$filter_upp = array("jpg","jpeg","JPG","JPEG","gif","png");
$file_typee = substr($_FILES['f-file']['type'],6);
$file_sizee = $_FILES['f-file']['size'];
$target_path ='/mounted-storage/home154/sub004/sc60088-DCVN/Main/domain.ir/www/wp-content/themes/sunglasses/upload/'.$img_idd.".".$file_typee;
if($file_sizee >= 2000000){?>
<script>alert("حجم تصویر باید کمتر از 2 میگابایت باشد.لطفا دوباره تلاش نمایید.");</script>
<?php }else{
if(in_array($file_typee,$filter_upp)){
if(move_uploaded_file($_FILES['f-file']['tmp_name'], $target_path)) {
?>
<script>alert("آپلود عکس شما با موفقیت انجام شد.");</script>
<?php
//echo '<img class="big-img" src=upload/'.$img_idd.".".$file_typee.'>'; ?>
<script>$('#gh').click(); $('img.big-img').attr('src',"<?php echo bloginfo('template_directory').'/upload/'.$img_idd.".".$file_typee; ?>"); </script>
<?php }
else {
echo $_FILES['f-file']['error']; ?>
<script>alert("متاسفانه ارسال تصویر با مشکل مواجه شد. لطفا دوباره تلاش نمایید.");</script>
<?php }
}
else {?>
<script>alert("فرمت فایل ارسال شده معتبر نمی باشد. لطفا یک عکس با فرمت jpg یا gif و یا png ارسال نمایید.");</script>
<?php }
}
}
?>



همون طور که میبینید فکر کنم کد ها درست باشه چون تا ۳ روزه پیش کار می کرد الان نمیدونم چی شده.
سی ام اسم وردپرس هست اما این رو دستی خودم بهش اضافه کردم. مشکل اینه که وقتی عکسی آپلود میشه پیغام خطای ازن خط :
<script>alert("متاسفانه ارسال تصویر با مشکل مواجه شد. لطفا دوباره تلاش نمایید.");</script>

چاپ میشه و کد ارور رو برمیگردونه شماره 0 هست. 0 هم که یعنی ارور نداره اما آپلود هم نمکنه. کلا مشکل اینه که کد درست هست اما به جای if اول else اون if اجرا میشه.
خطی هم که در صورت درست بودن اجرا میشه رو کاملا تست شدس ازش مطمئنم.
راهنمایی کنید لطفا

Golsha
دوشنبه 24 شهریور 1393, 10:26 صبح
سلام دوست عزیز برای بدست آوردن نوع فایل خیلی کار ساده ای انجام دادید بهتره کدش رو به این صورت تغییر بدید :



$file_type = explode('.',$_FILES['form']['name'];
$file_type = end($file_type);


بقیه چیزاشم دیدم فکر نکنم مشکل خاصی داشته باشه، برای اینکه ببینید مشکل از کجاست یه بار target رو دقیقتر وارد کنید منظورم اینه که یه آدرس دیگه بهش بدید.

نکته ی دیگه ای هم که فکر کنم کارتون رو بهتر میکنه اینکه وقتی میخواید از if استفاده کنید اینطور باشه بهتره : (البته سلیقه اییه)




<?PHP if(isset($_POST['form'])) :?>
<script></script>
<?PHP else: ?>
<script></script>
<?PHP endif;?>

thinkdiff
دوشنبه 24 شهریور 1393, 12:05 عصر
بله میدونم ساده ترین روشه
اما هنوز مشکل داره فرم من. کسی نیست راهنمایی کنه؟

thinkdiff
دوشنبه 24 شهریور 1393, 16:25 عصر
حل شد
دوستان مشکل از آدرس دقیق این قسمت بود که قرار بود عکس ها اونجا بره :
/mounted-storage/home154/sub004/sc60088-DCVN/Main/domain.ir/www/wp-content/themes/sunglasses/upload/

با تابعی به نام getcwd() در پی اچ پی آدرس دایرکتوری جاری رو در آوردم و آدرس جدید رو دادم. آخه هاست عوض کرده بودیم به اون خاطر بود.