1

我有一个从其本地目录(在 wamp/www/ 中)读取文件的 Web 应用程序。这个文件需要多个用户访问,所以我使用 Dropbox 同步和共享它。现在,我可以在诸如 fwrite 之类的 php 命令中使用快捷方式,以使代码并非严格适用于仅一台计算机吗?

例如,我不能将其编码为 fwrite("C:\Users\name\My Documents\"),因为它非常特定于一个用户并且很长。我想知道是否有可以使用的速记,例如 %appdata% 或 %programfiles%?

4

2 回答 2

1

尝试使用

$_SERVER['HOMEDRIVE'] and $_SERVER['HOMEPATH']

分别用于用户文件夹的驱动器和路径

print_r($_SERVER)

将显示所有环境变量。在那里你可以看到选择哪一个。

于 2013-05-17T09:04:47.937 回答
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 回答