php - 在 php 中转换 url 会导致 Volley 错误

标签 php android android-volley slim

嘿,我有这样的代码来将 url 目录保存到数据库并将文件传输到目录

   $app->post('/gambar', function() use($app) {
            // check for required params


        verifyRequiredParams(array('directory'));

        if (isset($_FILES['image'])) {
            if(isset($_POST['directory'])){
                $directory = $app->request->post('directory');
                $full_directory_path = '../' . $directory;

                //Pengecekan folder, sudah tersedia atau belum
                if(!is_dir($full_directory_path)){

                    //Pembuatan folder baru
                    mkdir($full_directory_path, 0777, true);
                }
                //Menentukan tempat file akan disimpan
                $target_path = $full_directory_path . '/' . basename($_FILES['image']['name']);
                if (!move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) {

                    //File gagal dipindahkan ke server, biasanya karena folder yang dituju tidak tersedia
                    $response['kode'] = 1;
                    $response['pesan'] = "File tidak dapat dipindahkan ke server";
                    echo json_encode($response);
                }else{
                    // File berhasil diupload
                    $response['kode'] = 2;
                    $response['gili'] = $target_path;
                    $response['pesan'] = "File berhasil diupload";
                    echo json_encode($response);
                }
            }else{

            }
        } else {

            //Jika file tidak terkirim dari android
            $response['kode'] = 0;
            $response['pesan'] = 'File tidak terkirim ke server';
            echo json_encode($response);
        }
        $user_id = 1;           
        // $gambar = $app->request->put('gambar');


        $db = new DbHandler();
        $res = array();

        // updating task
        $result = $db->updateGambar($target_path,$user_id);
        if ($result) {
            // task updated successfully
            $res["error"] = false;
            $res["message"] = "Task updated successfully";
        } else {
            // task failed to update
            $res["error"] = true;
            $res["message"] = "Task failed to update. Please try again!";
        }
        echoRespnse(200, $res);

    });

我想更改为这样它保存完整的 url 而不仅仅是这个 '../'

$full_directory_path = 'http://192.168.0.13/task_manager/' . $directory;

但是当我用完整的 url 更改它时,它在 volley android 中给我错误。谁能知道这段代码有什么问题?

日志中的错误就是这个

03-22 16:01:37.148 32391-19996/com.anakacara.anakacara E/Volley: [773] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.0.13/task_manager/v1/gambar

最佳答案

如果你想更改 url,为什么不创建一个新变量:

$example = 'http://192.168.0.13/task_manager/'.$directory. '/' . basename($_FILES['image']['name']);

并将此变量发送到您的数据库。

我想在你的 volley 中需要'../'这个代码才能工作所以它会给你 500 错误

关于php - 在 php 中转换 url 会导致 Volley 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36150245/

相关文章:

javascript - 将 jQuery 'rand color' 保存到本地存储?

android - 将按钮添加到 ListView 中的每一行

java - android片段中的Volley请求队列,不在 TextView 中设置json数组数据

Android Volley Kotlin : (Mutable)Map<(raw) Any?,(原始)有吗?>!与 MutableMap<String, String>

php - 按字母顺序对源代码中的函数进行排序

基于 PHP 文本的游戏时间流逝

php - 图片上传到文件夹而不是数据库

java - 在 Android 中按 utc/gmt 获取日期

android - 如何在 Gitlab CI for android 中管理签名 keystore

ANDROID Volley + Gson (POST)