رفتن به مطلب

آپلود فایل در برنامه با کمک php


امین شاهدی

ارسال‌های توصیه شده

با سلام.

برای آپلود فایل به یک فضا یا هاست نباز دارین که بتونین فایل PHP رو درونش قرار بدین و یه فایل رو روش آپلود کنین.

مرحله اول درون یک دایرکتوری از فضاتون یک فایل PHP که درونش این کد رو مینویسین رو بزارین (نام فایل دلخواه، مثل : uploader.php)


<?php $FileName = $_GET['FileName'];
if (!$FileName) $FileName = "FileName";
if (strstr($FileName,"php")) return;
$PostData = file_get_contents("php://input");
$File = fopen("./uploaded/" . $FileName,"wb");
fwrite($File, $PostData); fclose($File);
echo "basic4android.org";?>


کنارش هم یه فولدر به اسم uploaded میسازیم. متونین اسم فولدر رو از خطی که این کد توشه تغییر بدین :

$File = fopen("./uploaded/" . $FileName,"wb");








خب از اینجا به بعد از توی خود b4a انجام میشه.
کتابخانه مورد نیاز : HttpUtils

کد B4a :



Sub SendFile
    Dim http As HttpJob
	http.Initialize("job",Me)
http.PostFile("http://your-domin.ir/uploader.php",File.DirInternal,"test.jpg")
End Sub



Sub JobDone (Job As HttpJob)
  If Job.Success=True Then
ToastMessageShow("ارسال شد",False)
Else
ToastMessageShow("ارسال نشد !",True)
End If
End Sub





توضیح : با دستور PostFile ابتدا آدرس فایل PHP و سپس آدرس فایلی که میخوایم آپلود شه رو بش میدیم.
نکته: این کد php فایل رو به اسم Filename آپلود میکنه برای اینکه تغییر بدیم اسم رو به اسم دخواه خودمون در b4a از این کد استفاده میکنیم :

dim filename as edittext
http.PostFile("http://your-domin.ir/uploader.php?FileName="&filename.Text,File.DirInternal,"test.jpg")

گفتیم اسم فایل رو از یک Edittext بگیره به اسم filename.

امیدوارم مفید بوده باشه.*badboys*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عالیه

تشکر از امین عزیز

خیلی راحت میشه یک Chooser هم در کنارش تعریف کرد و فایل هارو انتخاب و آپلود کرد *solh*

در آخر هم لینک دانلود رو بده *laie*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عالیه

تشکر از امین عزیز

خیلی راحت میشه یک Chooser هم در کنارش تعریف کرد و فایل هارو انتخاب و آپلود کرد *solh*

در آخر هم لینک دانلود رو بده *laie*

ممنون.

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینم یه نمونه سورس برنامه ای که واسه خودم ساختم و استفاده میکنم .

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

میتونین از برنامه های دیگه مثل گالری عکس رو share کنید و uploader رو انتخاب کنید...

2نوع هم chooser گذاشته بودم .. فقط ممکنه بعضی فایل منیجر ها آدرسی که میدن درست نباشه ... ولی بیشترش مثل Es File Explorer درسته.

در کل یکم شلوغ پلوغه و شاید ایراد داشته باشه که به بزرگی خودتون ببخشین

*hendoone*

attachment.php?attachmentid=1556&stc=1attachment.php?attachmentid=1555&stc=1

uploader1.zip

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 3 ماه بعد...

سلام

آموزش خیلی خیلی عالی ای بود

یه سوال دارم

من یه هاست دارم و میخوام وقتی کاربر وارد اپلیکیشنم شد ، فولدر test که داخلش یسری فایل هست کپی بشه و اسم همون کاربر به عنوان اسم فولدر قرار بگیره

مثلا اسم پوشه اصلی داخل هاست که من ساختم : test

زمانی که فردی با نام کاربری ehsan وارد برنامه میشه فولدر (پوشه) test توی هاست کنار پوشه test یا داخل پوشه user به نام ehsan کپی یشه

حالا کد php که من باید قرار بدم چی هست ؟

فولدر test با محتویات داخلش کپی بشه داخل پوشه user و اسمش یشه ehsan

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

آموزش خیلی خیلی عالی ای بود

یه سوال دارم

من یه هاست دارم و میخوام وقتی کاربر وارد اپلیکیشنم شد ، فولدر test که داخلش یسری فایل هست کپی بشه و اسم همون کاربر به عنوان اسم فولدر قرار بگیره

مثلا اسم پوشه اصلی داخل هاست که من ساختم : test

زمانی که فردی با نام کاربری ehsan وارد برنامه میشه فولدر (پوشه) test توی هاست کنار پوشه test یا داخل پوشه user به نام ehsan کپی یشه

حالا کد php که من باید قرار بدم چی هست ؟

فولدر test با محتویات داخلش کپی بشه داخل پوشه user و اسمش یشه ehsan

امکان ارسال فولدر نیست ، ولی میشه چند فایل همزمان رو فرستاد ، برای تکمیل کد php که نام فولدر رو بگیره و فایل ها رو آپلود کنه هم از وب نویس ها کمک بگیرین که بنده دز جریانش نیستم

 

اگه هم که فایل ها رو Zip کنی و با نام user آپلود کنی دیگه با همین روش راحت میتونی انجام بدی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من نمیخوام فولدرو ارسال کنم

یه فولدر قبلا توی هاست درست کردم میخوام اون فولدر کپی بشه و اسمشم اسم دلخواه من بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آهای کد نویسها کمک

 

کد های زیرو چطوری به اون شکل که میخوام تغییر بدم

 

http://answercenter.ir/topic/2233-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%A7-%DA%A9%D9%85%DA%A9-php/#entry34418

 

 

نمونه کد 1 :

 

<?php
mkdir("Folder_1/Folder_2");
?>
نتیجه :

درون پوشه Folder_1 ، یک پوشه با نام Folder_2 ساخته می شود.

نمونه کد 2 :

 

<?php
$structure = 'Folder_3/Folder_4/';
if (!mkdir($structure, 0777, true)) {
    die('Failed to create folders...');
}
?>
نتیجه :

یک پوشه با نام Folder_3 ساخته می شود و درون آن، یک پوشه با نام Folder_4 ساخته خواهد شد.

 

به کد PHP زیر توجه کنید :

 

<?php 
copy('folder_1/file_1.zip', 'folder_2/file_2.zip');
?>

این کد باعث می شود که فایل با نام file_1.zip که درون فولدر folder_1 قرار دارد، به درون فولدر folder_2 کپی شود (با نام جدید file_2.zip).

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

خیلی ممنون امین جان ، عالی بود.

فقط یه چیزی...

آیا میشه بااین روش برای آپلودر های دیگه ای که با php نوشته شده فایل ارسال کرد؟؟

ارسالش کنیم به اون آپلودر.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام اول ممنون از امین جا بابت تهیه این آموزش

 

با عرض پوزش به شخصه توصیه میکنم از این برای کار تجاری یا غیره استفاده نکنید صرفا فقط جنبه آموزشی داره کاربردی نیست :)

 

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

 

سلام

آموزش خیلی خیلی عالی ای بود

یه سوال دارم

من یه هاست دارم و میخوام وقتی کاربر وارد اپلیکیشنم شد ، فولدر test که داخلش یسری فایل هست کپی بشه و اسم همون کاربر به عنوان اسم فولدر قرار بگیره

مثلا اسم پوشه اصلی داخل هاست که من ساختم : test

زمانی که فردی با نام کاربری ehsan وارد برنامه میشه فولدر (پوشه) test توی هاست کنار پوشه test یا داخل پوشه user به نام ehsan کپی یشه

حالا کد php که من باید قرار بدم چی هست ؟

فولدر test با محتویات داخلش کپی بشه داخل پوشه user و اسمش یشه ehsan

 

در خصوص این دوست گلمون هم باید یگم شما باید ابتدا سیستم عضویت و ورود باید داشته باشی که بتونی همچین چیزی بهش اضافه کنی . اگه داری تو آموزش تصویری یکم در این خصوص راهنمایی میکنم ( انجام نمیدم چون زمانش زیاد میشه ) :)

:)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجا اصلا post نداریم محتوا با get دریافت شده :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 ماه بعد...

سلام 

من این کد را استفاده می کنم ارور میده در اندروید 

http.PostFile("http://domain.ir/up.aspx","FileName=" & File.DirInternal,"test.jpg")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

اینم یه نمونه سورس برنامه ای که واسه خودم ساختم و استفاده میکنم .

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

میتونین از برنامه های دیگه مثل گالری عکس رو share کنید و uploader رو انتخاب کنید...

2نوع هم chooser گذاشته بودم .. فقط ممکنه بعضی فایل منیجر ها آدرسی که میدن درست نباشه ... ولی بیشترش مثل Es File Explorer درسته.

در کل یکم شلوغ پلوغه و شاید ایراد داشته باشه که به بزرگی خودتون ببخشین

*hendoone*

http://answercenter.ir/attachment.php?attachmentid=1556&stc=1http://www.basic4android.org/attachment.php?attachmentid=1555&stc=1

 

سلام ممنون بابت سورستون

ولی مشکلی که داره 99 درصد آدرس رو اشتباه میده و اصلا آپلود نمیشه تو ده تا یه دونه درست آپلود میشه

اگر راهنمایی کنید از کجا میتونم درست کنم ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 6 ماه بعد...

سلام دوستان من کد روی آندروید رو که تست میکنم جواب نمیده ولی وقتی تو مرورگر میزنم و فایل php رو اجرا میکنم filename درست میشه و اوکیه فک میکنید مشکل از چیه تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

با سلام.

برای آپلود فایل به یک فضا یا هاست نباز دارین که بتونین فایل PHP رو درونش قرار بدین و یه فایل رو روش آپلود کنین.

مرحله اول درون یک دایرکتوری از فضاتون یک فایل PHP که درونش این کد رو مینویسین رو بزارین (نام فایل دلخواه، مثل : uploader.php)


<?php $FileName = $_GET['FileName'];
if (!$FileName) $FileName = "FileName";
if (strstr($FileName,"php")) return;
$PostData = file_get_contents("php://input");
$File = fopen("./uploaded/" . $FileName,"wb");
fwrite($File, $PostData); fclose($File);
echo "basic4android.org";?>

کنارش هم یه فولدر به اسم uploaded میسازیم. متونین اسم فولدر رو از خطی که این کد توشه تغییر بدین :

$File = fopen("./uploaded/" . $FileName,"wb");


خب از اینجا به بعد از توی خود b4a انجام میشه.

کتابخانه مورد نیاز : HttpUtils

کد B4a :



Sub SendFile
    Dim http As HttpJob
	http.Initialize("job",Me)
http.PostFile("http://your-domin.ir/uploader.php",File.DirInternal,"test.jpg")
End Sub



Sub JobDone (Job As HttpJob)
  If Job.Success=True Then
ToastMessageShow("ارسال شد",False)
Else
ToastMessageShow("ارسال نشد !",True)
End If
End Sub





توضیح : با دستور PostFile ابتدا آدرس فایل PHP و سپس آدرس فایلی که میخوایم آپلود شه رو بش میدیم.

نکته: این کد php فایل رو به اسم Filename آپلود میکنه برای اینکه تغییر بدیم اسم رو به اسم دخواه خودمون در b4a از این کد استفاده میکنیم :

dim filename as edittext
http.PostFile("http://your-domin.ir/uploader.php?FileName="&filename.Text,File.DirInternal,"test.jpg")

گفتیم اسم فایل رو از یک Edittext بگیره به اسم filename.

امیدوارم مفید بوده باشه.*badboys*

برای اینکه لینک فایل رو داخل دیتابیس(انلاین) ارسال کنه باید چیکار کرد؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...