PDA

View Full Version : آپلو د عكس با استفاده GET



mohammad-gh
شنبه 11 اردیبهشت 1389, 13:23 عصر
با سلام
همنوطور كه مي دونيد براي آپلود يك عكس از آرايه دروني php كه توسط دستور

$_FILES['pic']['size'] هست استفاده مي شود
اما اين دستور وقتي داريم به روش GET فرمي را ارسال مي كنيم جواب نميده
و فقط جواب trueو False ميده
از دوستان كسي مي دونه كه وقتي اطلاعات يك فايل رو توسط GEt فرستاديم چطور size و Type و name رو بدست بياريم.

mohammad-gh
یک شنبه 12 اردیبهشت 1389, 10:28 صبح
كسي نيست جواب بده

trade_mark
یک شنبه 12 اردیبهشت 1389, 11:42 صبح
دوست عزیز به نظرم این کار شدنی نیست چون با مسائل امنیتی جور در نمیاد

mohammad-gh
یک شنبه 12 اردیبهشت 1389, 13:17 عصر
با سلام
با جستجويي كه كردم به اين نتيجه رسيدم كه بايد از متد POST استفاده كنم
اما هر كاري مي كنم تصوير من آپلود نميشه
من يك ساب دومين باز كردم و فولدري به نام image دارم كه مي خواهم تصاوير رو ردر اون ذخيره كنم
اما هر بلايي سر اين دستور آوردم نشد كه نشد

move_uploaded_file($_FILES["pic"]["tmp_name"],"image/" . $_FILES["pic"]["name"]);
اندازه و نام تصوير رور هم به خوبي درسافت مي كنم ولي آپلود نميشه
آيا tmp_name جاي خاصي است؟

payamsp
یک شنبه 12 اردیبهشت 1389, 13:36 عصر
وقتی که تگ form رو تعریف می کنید باید خصوصیت
enctype="multipart/form-data" رو هم وارد کنید وگرنه فایلی ارسال نمیشه که با FILES_$ بشه دریافتش کرد .



<form action="upload.php" method="post" enctype="multipart/form-data" >

LORD AELX
یک شنبه 12 اردیبهشت 1389, 13:40 عصر
با GET نمیتونید فایل آپلود کنید، چون هیچ متد Encrypt ایی نمیتونید ایجاد کنید و ثانیا GET فقط اسم فایل رو توی آرایه GET_$ میگذاره و توی Temp سرور PHP هم چیزی آپلود نمیشه. :لبخندساده:

با POST هم بصورت زیر عمل کنید، این کد برای آپلود (هیچ فرقی هم نمیکنه تصویر هستش یا چیز دیگه):



$tmp_name = $_FILES["pic"]["tmp_name"];
move_uploaded_file($tmp_name, "images/$tmp_name");

البته توی فرم HTML تون کد زیر رو باید زده باشید (به نام اون هم دقت کنید):



<input name="pic" type="file">و خاصیت enctype فرمتون (<form>) رو هم اینطور ست کنید : multipart/form-data (ربطی به قضیه نداره ها، کلی گفتم :لبخندساده: )

اینو گذاشتم چون کدتون ایراد داشت :چشمک:

mohammad-gh
یک شنبه 12 اردیبهشت 1389, 17:14 عصر
متاسفانه به هيچ كدوم از اين دستورات درست نميشه
خاصيت multipart/form-data رو هم ست كرده بودم
شايد مشكل از TEMP ‌سرور است
راستي من دارم رو يه ساب دومين اين كار رو انجام مي دم تو آدرس دهي كه مشكلي نداره

LORD AELX
دوشنبه 13 اردیبهشت 1389, 07:14 صبح
متاسفانه به هيچ كدوم از اين دستورات درست نميشه
خاصيت multipart/form-data رو هم ست كرده بودم
شايد مشكل از TEMP ‌سرور است
راستي من دارم رو يه ساب دومين اين كار رو انجام مي دم تو آدرس دهي كه مشكلي نداره

من که گفتم با GET کلا نمیتونید به سرور فایل ارسال کنید!!!!!! :عصبانی: اگر هم دارید با POST کار می کنید که دقیقا اگه کارای بالا رو انجام بدید کار می کنه.... :متفکر:

آدرس دهی چیز سختی نیست که دارید بزرگش می کنید.... ببینید، اگه از یه فولدر به خودش بخواید دسترسی داشته باشید، فقط اسم فایل ها رو می نویسید یا نهایتا یه / هم قبلش میگذارید. اگه بخواین با یه فولدر توی فولدری که هستید کار کنید، اسم فولدر رو نوشته و بعد از / اسم فایل مورد نظر رو می نویسید. نهایتا بازم قبل آدرس یه / میگذارید. و اگه بخواین با یه فولدر بالاتر کار کنید از .. استفاده می کنید. اینطوری یه شاخه به بالا می روید و بعد از / اسم فایل یا آدرس اونو می نویسید. همین!! :لبخندساده: حالا همین شرایط رو میتونید بسط بدید. مثل:



../../images/sunday/alex/pic01.JPG
OR
funcs/myfuncs.php
OR
...


موفق باشید :قلب: