parnian~parnian
سه شنبه 01 تیر 1395, 12:05 عصر
سلام دوستان
من توی یکی از برنامه هام به یه مشکل بزرگ برخورد کردم
توی یکی از قسمت های پورتال نیاز دارم که چند تا فایل رو اعم از صوتی ویدئویی تصویر آپلود کنه کاربر. من قبلا کد آپلود نوشتم برای تصاویر و مشکلی نداشته ولی الان توی بحث فایل های صوتی و ویدئویی به مشکل برخوردم . کدی که نوشتم 3 مشکل داره که توی کدهای سایت های خارجی هم گشتم و تست کردم بازم این مشکل رو داشت :
1- یه فایل انتخاب میکنی و روی دکمه ثبت کلیک میکنی ....................... مشکل : توی زمان چک کردن میگه اصلن روی دکمه ثبت کلیک نکردی که مطئمنم مشکل از اپلود فایل بوده ................... یعنی به جای اینکه وارد if بشه اولش میره خط 135 و redirect میکنه به صفحه
2- یه فایل انتخاب میکنی و روی دکمه ثبت کلیک میکنی ....................... مشکل : متوجه میشه که روی دکمه ثبت کلیک کردی و وارد کدها میشه ولی میگه فایلی انتخاب نکردی !................. مثلا وارد if خط 27 میشه درحالی که فایل انتخاب شده! و باید بره توی else
3- اپلود فایل هایی با حجم بالا
<?php
if(isset($_POST['submit']))
{
if(empty($_POST['title']) )
{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ویرایش با مشکل مواجعه شده لطفا کلیه موارد خواسته شده را پر کنید .</div>';
$security->Redirect("../selflink","empty=8020");
}
else{
///////////////////////////////////////////////
$file_video1="";
$file_sound1="";
$file_image1="";
if ($_FILES['file_video']['size'] > 999000 ) {
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>حجم فایل آپلود شده بیشتر از حد مجاز است .</div>';
$security->Redirect("../selflink","typeerror=1339");
}else{
if($_FILES['file_video']['error']>0)
{
//$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_video']['tmp_name']))
{
$white=array('.mp4');
$file=strrchr($_FILES['file_video']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_video']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_video']['tmp_name'],"../upload/".$file);
$file_video1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
}
if ($_FILES['file_sound']['size'] > 999000 ) {
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>حجم فایل آپلود شده بیشتر از حد مجاز است .</div>';
$security->Redirect("../selflink","typeerror=1339");
}else{
if($_FILES['file_sound']['error']>0)
{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_sound']['tmp_name']))
{
$white=array('.mp3');
$file=strrchr($_FILES['file_sound']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_sound']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_sound']['tmp_name'],"../upload/".$file);
$file_sound1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
}
if($_FILES['file_image']['error']>0)
{
//$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_image']['tmp_name']))
{
$white=array('.png','.gif','.jpg');
$file=strrchr($_FILES['file_image']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_image']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_image']['tmp_name'],"../upload/".$file);
$file_image1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
///////////////////////////////////////////////
} // else empty
}
else{
$security->Redirect("../selflink");
}
?>
دوستان اگه راهنماییم کنین در این خصوص ممنون میشم .
من توی یکی از برنامه هام به یه مشکل بزرگ برخورد کردم
توی یکی از قسمت های پورتال نیاز دارم که چند تا فایل رو اعم از صوتی ویدئویی تصویر آپلود کنه کاربر. من قبلا کد آپلود نوشتم برای تصاویر و مشکلی نداشته ولی الان توی بحث فایل های صوتی و ویدئویی به مشکل برخوردم . کدی که نوشتم 3 مشکل داره که توی کدهای سایت های خارجی هم گشتم و تست کردم بازم این مشکل رو داشت :
1- یه فایل انتخاب میکنی و روی دکمه ثبت کلیک میکنی ....................... مشکل : توی زمان چک کردن میگه اصلن روی دکمه ثبت کلیک نکردی که مطئمنم مشکل از اپلود فایل بوده ................... یعنی به جای اینکه وارد if بشه اولش میره خط 135 و redirect میکنه به صفحه
2- یه فایل انتخاب میکنی و روی دکمه ثبت کلیک میکنی ....................... مشکل : متوجه میشه که روی دکمه ثبت کلیک کردی و وارد کدها میشه ولی میگه فایلی انتخاب نکردی !................. مثلا وارد if خط 27 میشه درحالی که فایل انتخاب شده! و باید بره توی else
3- اپلود فایل هایی با حجم بالا
<?php
if(isset($_POST['submit']))
{
if(empty($_POST['title']) )
{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ویرایش با مشکل مواجعه شده لطفا کلیه موارد خواسته شده را پر کنید .</div>';
$security->Redirect("../selflink","empty=8020");
}
else{
///////////////////////////////////////////////
$file_video1="";
$file_sound1="";
$file_image1="";
if ($_FILES['file_video']['size'] > 999000 ) {
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>حجم فایل آپلود شده بیشتر از حد مجاز است .</div>';
$security->Redirect("../selflink","typeerror=1339");
}else{
if($_FILES['file_video']['error']>0)
{
//$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_video']['tmp_name']))
{
$white=array('.mp4');
$file=strrchr($_FILES['file_video']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_video']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_video']['tmp_name'],"../upload/".$file);
$file_video1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
}
if ($_FILES['file_sound']['size'] > 999000 ) {
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>حجم فایل آپلود شده بیشتر از حد مجاز است .</div>';
$security->Redirect("../selflink","typeerror=1339");
}else{
if($_FILES['file_sound']['error']>0)
{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_sound']['tmp_name']))
{
$white=array('.mp3');
$file=strrchr($_FILES['file_sound']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_sound']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_sound']['tmp_name'],"../upload/".$file);
$file_sound1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
}
if($_FILES['file_image']['error']>0)
{
//$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
//$security->Redirect("../selflink","inserterror=1139");
}else{
if(is_uploaded_file($_FILES['file_image']['tmp_name']))
{
$white=array('.png','.gif','.jpg');
$file=strrchr($_FILES['file_image']['name'],'.');
if(in_array($file,$white))
{
$filename=$_FILES['file_image']['name'];
$file=md5($filename.microtime()).substr($filename,-5,5);
move_uploaded_file($_FILES['file_image']['tmp_name'],"../upload/".$file);
$file_image1=$file;
}
else{
$_SESSION['msg']='<div class="alert alert-danger" role="alert"><a class="close" data-dismiss="alert">×</a>ثبت با مشکل مواجعه شده لطفا اطلاعات ورودی را بررسی کنید .</div>';
$security->Redirect("../selflink","typeerror=1339");
}
}
}
///////////////////////////////////////////////
} // else empty
}
else{
$security->Redirect("../selflink");
}
?>
دوستان اگه راهنماییم کنین در این خصوص ممنون میشم .