1

パスのフォルダー名の 1 つにスペースが含まれていると、IM はパスの -> メタデータにアクセスできません。したがって、パスが /CLIENT/FOLDER NAME の場合、メタデータ呼び出しは 401 を返します。次のようにパス パラメータをエンコードしています。

$path = str_replace('%2F', '/', rawurlencode($path));

スペースに %20 を追加します。ドロップボックスに移動して「FOLDER NAME」を「FOLDER-NAME」に変更すると、すべてうまくいきます。パスをエンコードする別の方法はありますか?

フォルダーにドリルダウンし、前のフォルダーパスをクエリ文字列「パス」として渡す前のコードを次に示します。そのため、問題のある URL は「/my-hub/?path=COMM%20POLICIES」です。

   $clientpath = "/DACLIENTS/$username";//username is the current user
   $path = $clientpath;
   if(isset($_GET['path'])){
      $path .= '/'.rawurldecode($_GET['path']);
   }
   $path = rawurlencode($path);
   $path = str_replace('%2F', '/', $path);
   // List contents of directory
   if ($home = $client->metadata($path)) {
       ...
   }
4

2 に答える 2