چگونه تابع copy را فعال کنم

imanmir

Member
با سلام من از تابع کپی برای کپی تصاویر استفده کرده ام که لوکال جواب می ده ولی روی سرور جواب نمی ده باید تو php.ini چی رو فعال کنم؟
 

imanmir

Member
سلام

با سلام مرسی از جوابتون ولی آخه روی لوکال جواب می ده و فقط روی سرور ارور می ده

PHP:
$readdir = "images/upload"; 
$allow = "jpg,jpeg,gif,bmp,pdf,png"; 

 
////// check for allow file 
if ($_FILES['file']['type']=="image/jpeg" OR $_FILES['file']['type']=="image/jpg" OR $_FILES['file']['type']=="image/jpe" OR $_FILES['file']['type']=="image/pjpeg" OR $_FILES['file']['type']=="image/pjpg" OR $_FILES['file']['type']=="image/x-jpeg" OR $_FILES['file']['type']=="image/x-jpg" OR 
$_FILES['file']['type']=="image/gif" OR $_FILES['file']['type']=="image/x-gif" OR $_FILES['file']['type']=="image/png" OR $_FILES['file']['type']=="image/x-png" OR $_FILES['file']['type']=="image/tif" OR $_FILES['file']['type']=="image/tiff" Or $_FILES['file']['type']=="image/bmp"){ 
   
if (eregi(".php",$_FILES['file']['name']) OR eregi(".php3",$_FILES['file']['name']) OR eregi(".php4",$_FILES['file']['name']) OR eregi(".asp",$_FILES['file']['name']) 
OR eregi(".html",$_FILES['file']['name']) OR eregi(".htm",$_FILES['file']['name']) OR eregi(".php5",$_FILES['file']['name']) OR eregi(".aspx",$_FILES['file']['name']) 
){ 
echo "فرمت فايل غير قابل قبول است"; 
}else { 
if (file_exists('../'.$readdir.'/'.$_FILES['file']['name'])){ 
echo "فايل مورد نظر در دايرکتوري وجود دارد";} 
else { 
if ($_FILES['file']['name']=='index.htm' OR $_FILES['file']['name']=='index.html' OR $_FILES['file']['name']=='defualt.html'  OR $_FILES['file']['name']=='defualt.html'  OR $_FILES['file']['name']=='defualt.asp'  OR $_FILES['file']['name']=='defualt.aspx' 
OR $_FILES['file']['name']=='index.php' OR $_FILES['file']['name']=='index.php3' OR $_FILES['file']['name']=='index.php4' OR $_FILES['file']['name']=='index.php5' OR $_FILES['file']['name']=='index.txt' 
){ 
echo "نام وارد شده معتبر نيست";} 
else { 
if ($_FILES['file'] != "") { 
   $dir ="../images/upload/"; 
   $namefile=$_FILES[file][name];
   if (copy($_FILES['file']['tmp_name'], $dir.$_FILES['file']['name'])){ 
   //add
    echo "فایل مورد نظر با موفقیت ارسال شد"; 
   }} else { 
   exit("متاسفانه مشکلی در ارسال فایل مورد نظر وجود دارد".@mysql_error()); 
   } 
   }
}}}}else{
//update
   echo "فایل مورد نظر با موفقیت ارسال شد"; 

}
 

yakoza

Well-Known Member
خوب به این پوشه سطح دسترسی 777 بده ببین چی میشه images/upload

بعد یه پیشنهادم دارم واست

کد:
if ($_FILES['file']['type'] == "image/jpeg" or $_FILES['file']['type'] ==
    "image/jpg" or $_FILES['file']['type'] == "image/jpe" or $_FILES['file']['type'] ==
    "image/pjpeg" or $_FILES['file']['type'] == "image/pjpg" or $_FILES['file']['type'] ==
    "image/x-jpeg" or $_FILES['file']['type'] == "image/x-jpg" or $_FILES['file']['type'] ==
    "image/gif" or $_FILES['file']['type'] == "image/x-gif" or $_FILES['file']['type'] ==
    "image/png" or $_FILES['file']['type'] == "image/x-png" or $_FILES['file']['type'] ==
    "image/tif" or $_FILES['file']['type'] == "image/tiff" or $_FILES['file']['type'] ==
    "image/bmp")

چرا به جای این اینجوری ننوشتی

کد:
$allowFile=array("image/jpeg","image/gif","image/png");
if(in_array($_FILES['file']['type'],$allowFile))
{
	//do somthing
}
 

imanmir

Member
با سلام

ببخشید دیر اومدم ولی متاسفانه مشکلم حل نشد
من مسیر را هم چک کردم درسته ولی نمی ریزه
جالب اینه که لوکال جواب می ده ولی روی نت نه
Warning: copy(../images/upload/icon.jpg) [function.copy]: failed to open stream: Permission denied in /var/www/vhosts/ihemehr.ac.ir/httpdocs/admin/sub_mpost.php on line 179
 

Majid

مدیر سایت
عضو کادر مدیریت
مشكل شما با توجه به خطايي كه ارسال كردي (منظورم Permission denied) هست، قطعا مربوط به سطوح دسترسي شاخه ميشه.

اگر سرور هاست شما لينوكس هسا شما بايد به اين شاخه ../images/upload/ سطح دسترسي 777 بدي ...


مجيد
 

imanmir

Member
توضیح بیشتر

با سلام مجید خان مرسی از پاسخته ولی راحه چیه ؟
توضیح بیشتر مرسی
 

yakoza

Well-Known Member
راه اینه که به اون پوشه ای که داره فایلها توش آپلود میشه سطح دسترسی 777 بدی از تو cpanel
 

25mordad

Member
اگه با اف تی پی کار می کنی وارد اف تی پیت می شی و بعدش روی پوشه راست کلیک می کنی و بعدش هم پراپرتیز یا همون چنج مود (ببخشید فارسیشو می نویشم ) یا اگه از اف تی پی کیوت استفاده می کنی آلت اینتر و بعدش هم سطح دسترسی رو برای گروه و عمومی روی رایت write ( اینو دیگه مجبور شدم خیلی مسخره شده بود .. رایت :D ) می ذاری ولی اصلا توصیه می کنم که این کار رو نکنی چون که امنیت سایتت به مخاطره می افته .. آقا اینگار این هاستت خیلی تنظیم نیست یا شایدم زیادی تنظیم هست چون اون کد تصویر امنیتیت هم کار نکرد روش که
 

جدیدترین ارسال ها

بالا