• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطا در آپلود فایل به سرور
#1
با سلام

دوستان برای آپلود فایل به سرور فایلی رو نوشتم که روی لوکال صحیح کار می کنه ولی وقتی می زارم رو سرور خطای زیر رو می ده ، ممنون می شم که کمک کنید.

( البته یادآور بشم که permision صفحه رو 777 گذاشتم ولی نمی دونم که آیا باید permission تمام فولدرهای قبل از این فایل رو هم 777 کنم تا درست کار کنه و یا فقط انتخاب permision 777 برای خود فایل کافیه؟ )

وقتی آدرس فایل و فولدر مورد نظر رو در دستور move_uploaded_file به شکل " folder/file.php/../.." می دم این خطا رو می ده.

Warning: move_uploaded_file(../../XXX/YYY/ZZZ.swf) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/XXX/public_html/fileupload.php on line 190

و وقتی آدرس فایل و فولدر مورد نظر رو در دستور move_uploaded_file به شکل " http://www.mysite.com/folder/file.php" می دم خطای زیر رو می ده.

Warning: move_uploaded_file(http://www.mysite.comr/XXX/YYYr/ZZZ.swf) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in /home/XXX/public_html/fileupload.php on line 190

ممنون می شم اگه کمک کنید.
خدانگهدار.
ایران سرزمین من است ، سرزمین پدران من است.
به خاکش سوگند ، برایش خون هم خواهم داد.
  پاسخ
تشکر شده توسط :
#2
بله فولدری که دارید فایل رو انتقال میدید باید دسترسی 777 بدید
  پاسخ
تشکر شده توسط :
#3
سلام

کاری رو که گفتین انجام دادم ولی باز هم درست نشد.

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

ممنون می شم اگه بیشتر کمک کنین.

خدانگهدار.
ایران سرزمین من است ، سرزمین پدران من است.
به خاکش سوگند ، برایش خون هم خواهم داد.
  پاسخ
تشکر شده توسط :
#4
سلام،
عزیز کدتون رو در اینجا قرار بدید بتونیم کمکتون کنیم.
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط :
#5
سلام

کد کامل رو که نمی تونم بزارم چون اونقدر بزرگ و حجیمه که اصولا اینجا قبول نمی کنه و در عین حال اونقدر پیچیده است که فکر نکنم متوجه بشین ولی سعی می کنم قسمتی که مربوط به آپلود فایل و انتقال فایل به پوشه مورد نظر هست رو بزارم.

خدانگدار.
سلام

این هم کدی که می خواستین

کد:
$host  = $_SERVER['HTTP_HOST'];
$filename = trim($_FILES['userfile']['name']);
$tmpname  = trim($_FILES['userfile']['tmp_name']);

elseif ((is_uploaded_file($tmpname)) && ($result))
                    {
                        move_uploaded_file($tmpname ,"http://$host/folder1/folder2/$filename");
                        echo "<font color=green>اطلاعات فایل ذخیره و فایل بدرستی انتقال یافت.</font><br><br>";
                    }

اضافه کنم که اگه می بینین به جای if در ابتدای دستور کلمه elseif نوشته شده به این دلیله که این بخشی از یک دستور if هستش. ( گفتم یه وقت این واستون سوءتفاهم نشه) و درضمن شرط if یعنی مقدار result$ و دستور is_uploadede_file($tmpname) هم به درستی عمل می کنن ولی دستور move_uploaded_file() خطایی رو که در ابتدا نوشتم می گیره.

ممنون که کمک می کنین و خدانگهدار.
ایران سرزمین من است ، سرزمین پدران من است.
به خاکش سوگند ، برایش خون هم خواهم داد.
  پاسخ
تشکر شده توسط :
#6
عزیز اینطوری چیزی نمیشه فهمید...
مسیر http://$host/folder1/folder2/$filename رو به مسیر فیزیکی تغییر بدید. ببینید درست میشه:
/www/user/domain...
C:/www/root/xxx...
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط :
#7
جناب Y.P.Y درست تشخیص دادن
شما باید آدرس رو با این صورت در move_uploaded_file قرار بدید.
کد پی‌اچ‌پی:
move_uploaded_file($tmpname ,"/home/user/public_html/folder1/folder2/$filename"); 
  پاسخ
تشکر شده توسط :
#8
سلام

همون طور که گفتین دسترسی پوشه ای که فایل قرار بود داخلش قرار بگیره رو 777 گذاشتم و آدرس انقال فایل در دستور move_uploaded_file رو هم به شکل کاملا فیزیکی و مستقیم نوشتم و مشکل حل شد. دیگه خطا نمی ده و همه چیز درست کار می کنه.

ممنون و خدانگهدار.
ایران سرزمین من است ، سرزمین پدران من است.
به خاکش سوگند ، برایش خون هم خواهم داد.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان