1

ローカル ディレクトリ (wamp/www/) からファイルを読み取る Web アプリケーションがあります。このファイルは複数のユーザーがアクセスする必要があったため、Dropbox を使用して同期および共有しました。さて、コードが1台のコンピューターだけに厳密に適用されないように、fwriteなどのphpコマンドで使用できるショートカットはありますか?

たとえば、これを fwrite("C:\Users\name\My Documents\") にコーディングすることはできません。これは、1 人のユーザーに固有であり、長いためです。%appdata% や %programfiles% など、使用できる省略表現があるかどうか疑問に思っていました。

4

2 に答える 2

1

$fp = fopen("{$_ENV['USERPROFILE']}\My Documents\somefile.txt", 'wb');

マニュアルの$_ENVとgetenv()を参照してください。

これは限られた状況でのみ機能することに注意してください。代わりに、この内部関数を使用できます。

#include<Shlobj.h>

PHP_FUNCTION(win_get_desktop_folder)
{
    char szPath[MAX_PATH];

   if (zend_parse_parameters_none() == FAILURE)
       RETURN_NULL();

   if (SUCCEEDED(SHGetSpecialFolderPathA(NULL, szPath,
       CSIDL_MYDOCUMENTS, FALSE))) {
       RETURN_STRING(szPath, 1);
   } else {
       RETURN_FALSE;
   }
}
于 2013-05-17T09:15:24.090 に答える