簡體   English   中英

在網絡驅動器的Windows中使用PHP的fopen

[英]Using PHP's fopen in windows on a network drive

我有以下代碼:

$file_name = "1234";
$filename = "L:\\videoette_converter\\batch_files\\".$file_name.'.bat';
if (!$handle = fopen($filename, 'a')) {
     echo "Cannot open file ($filename)";
     exit;
}

我從該代碼中收到以下錯誤:

警告:fopen(L:\\ videoette_converter \\ batch_files \\ 1234.bat)[function.fopen]:無法打開流:第47行的C:\\ wamp \\ www \\ videoette_converter \\ index.php中沒有此類文件或目錄

和我的PHP調試行

無法打開文件(L:\\ videoette_converter \\ batch_files \\ 1234.bat)

但是,文件夾L:\\videoette_converter\\batch_files確實作為映射驅動器存在,並且我已經賦予“所有人”完全權限。 可能是什么問題呢?

您確定沒有域控制器嗎?

當提供文件的Windows計算機位於Active Directory域中時:

1)運行WAMP的計算機必須位於同一域中。

2)用於在WAMP機器上運行Apache服務的帳戶必須至少具有要訪問的共享的讀取權限。 您應該指定域用戶帳戶,而不是將Apache服務作為“本地系統”或“ wampapache”運行。 (PS:我喜歡XAMPP而不是Wamp來進行這種開發,但這可能只是個人喜好)

另外我猜如果您使用UNC路徑而不是驅動器號,id會更好。 那樣總是對我有用。 您不需要使用轉義的反斜杠,可以將它們替換為單個正斜杠:

//yourwinserver/sharename/path/to/file.bat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM