PDA

View Full Version : حرفه ای: ارسال یک عکس از نرم افزار به سرور



amirali0079
چهارشنبه 24 تیر 1394, 17:41 عصر
سلام من با دوستم داریم یک نرم افزار اندروید میسازم الان به قسمت آواتار رسیدیم
من نمیدونم از کدام روش تصویر رو از کلاینت (موبایل کاربر) به سرور بفرستم و اونجا ذخیره کنم !
خودم فک کردم با base64 اونو encode کنم بعد تو سرور با php اونو decode کنم و سیو کنم ولی به نظرم روش خوبی نیست چون باید با متد $_GET بگیرم و اونم محدودیت داره
میشه درباره انتقال فایل از کلاینت به سرور توضیحی بدین ؟

golbafan
چهارشنبه 24 تیر 1394, 18:45 عصر
سلام

در php.ini این رو ست کن:
file_uploads = On

سپس کد رو بشکل زیر بنویس کن:

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>

golbafan
چهارشنبه 24 تیر 1394, 18:46 عصر
اینم یک کد کامل برای آپلود فایل و عکس و غیره:

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>

amirali0079
چهارشنبه 24 تیر 1394, 23:02 عصر
ممنون حالا چطوری ارسال کنمش از برنامه به سرور ؟

arta.nasiri
چهارشنبه 24 تیر 1394, 23:30 عصر
شما تو کدوم بخش مشکل دارین؟ سمت کلاینت یا سمت سرور؟
اگه سمت کلاینت مشکل دارین که خب باید با استفاده از کلاسهایی که تو جاوا برای اینکار استفاده میشه کارتون رو انجام بدید. کلاسهایی که واسه این مورد بدرد میخورن httpclient, httpPost, httpResponse هستن البته واسه کار با این کلاسا باید مستندات مربوطه مطالعه بشه.
سمت سرور هم میتونید با استفاده از زبانهای مختلف فایل رو دریافت کنید حالا چه از طریق متد post یا سوکت یا با استفاده از ftp.