آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

احمد  9 سال پیش  9 سال پیش
0 0

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

01-001-00000001_l.png
01-001-00000001_m.png
01-001-00000001_s.png
01-001-00000002_l.png
01-001-00000002_m.png
01-001-00000002_s.png

داخلش قرار داره می خوام قسمت اول نام تصاویر یعنی تا قبل از _ را بفرستم به فایل php و لیست فایل ها را دریافت کنم به صورت جیسون فایل php من اینه:

 <?php
if((!isset($_REQUEST['KCode']))or($_REQUEST['KCode']==''))
{// echo "Required Params(s) is missing; Param 1 Not Find"; $response["success"]=0; $response["message"]="Required Params(s) is missing"; echo $response["message"];exit;}else{ $KCode = $_REQUEST['KCode']; $dir2 ="K_Pic/";if(is_dir($dir2)){if($dh = opendir($dir2)){while(($file = readdir($dh))!==false)
{if($file =="."or $file ==".."){}
else{
// $files_array [] = $file; // Add the file to the array $files_array[]= array('file'=> $file);// Add the file to the array}}} $count = count($files_array); $temparray = array();for($x =0; $x < $count -1; $x++){if(strpos($files_array[$x], $KCode."_")!==false){ $temparray[]= $files_array[$x];}}if(count($temparray)>0){ $return_array = array('name_array'=> $temparray);// echo json_encode($outputarray); echo json_encode($return_array);}}}?>

تا قبل از ـ باید دقیقا مثل عبارت ارسالی باشه اگه طریقه خوندن جیسونش را هم بگین ممنون میشم

 

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
احمد  9 سال پیش
+1 0

فایل php را به صورت زیر بنویسید:

 <?php
if ((!isset($_REQUEST['KCode'])) or ($_REQUEST['KCode'] == '')) {
    //   echo "Required Params(s) is missing; Param 1 Not Find";
    $response["success"] = 0;
    $response["message"] = "Required Params(s) is missing";
    echo $response["message"];
    exit;
} else {
    $KCode = $_REQUEST['KCode'];
    $dir2 = "K_Pic/";
    if (is_dir($dir2)) {
        if ($dh = opendir($dir2)) {
            while (($file = readdir($dh)) !== false) {
                if ($file == "." or $file == "..") {

                } else {
                    $files_array [] = $file; // Add the file to the array
                    //   $files_array[] = array('file' => $file); // Add the file to the array
                }
            }
        }
        $count = count($files_array);
        $temparray = array();
        for ($x = 0; $x < $count; $x++) {
            if (strpos($files_array[$x], $KCode) !== false) {
                $temparray[] = $files_array[$x];
            }
        }

        if (count($temparray) > 0) {
            $outputarray["success"] = 1;
            $outputarray["images"] = $temparray;
            echo json_encode($outputarray);
        } else {
            $outputarray["success"] = -1;
            $outputarray["message"] = "No Image found.";
            echo json_encode($outputarray);
        }
    }
}
?>

خروجی فایل بالا اگر عکسی وجود داشته باشه به صورت زیر هست:

{"success":1,"images":["01-001-00000001_l.png","01-001-00000001_s.png","01-001-00000001_m.png"]}

برای خوندنش در آندروید هم می تونید از کد زیر استفاده کنید:

 	JSONArray jsonArray = null;
					try {
						int success = json.getInt("success");
						if (success == 1) {

							JSONArray itemArray = json.getJSONArray("images");
							for (int i = 0; i < itemArray.length(); i++)

							{
								String name = "" + itemArray.get(i);
								Log.i(G.APP_LOG, "name is: " + name);
							}
						} else {
							Toast.makeText(G.context, "success -1",
									Toast.LENGTH_SHORT).show();
						}
					} catch (JSONException | IllegalStateException jException) {
						Log.i(G.APP_LOG, "error in get data 1 ");
						jException.printStackTrace();

					} catch (NullPointerException e) {
						Log.i(G.APP_LOG, "error in get data 2 ");
					}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .