[英]upload file to network drive in php
用於將文件上傳到映射的網絡驅動器的php腳本不起作用。 以下是php腳本:
$newfilename = "something.wav";
$path = 'Y:\\uploaded\\'.$newfilename;
copy($_FILES['ufile']['tmp_name'], $path);
我還檢查了網絡驅動器文件夾的權限。我已將Y驅動器映射到上載文件夾中的網絡驅動器(10.4.4.32)d驅動器。 它具有完全控制權限。 我嘗試過以下網絡驅動器的路徑:
但是,它可以在本地驅動器上運行,例如:
顯示的錯誤: 警告:copy(\\ 10.4.4.32 \\ d $ \\ uploaded \\ test.wav):無法打開流:權限在第107行的C:\\ inetpub \\ wwwroot \\ myapp \\ upload.php中被拒絕
我對所有人的上傳文件夾的屬性均擁有完全控制的權限。 還有其他許可,我應該解決。
首先,檢查copy()
返回false。 這表明確實存在錯誤。
然后,在php.ini中啟用track_errors
指令,以及將display_errors
和error_reporting
設置為最高級別。 激活track_errors
(並重新啟動Web服務器)后,在復制后使用以下行:
var_dump($php_errormsg, error_get_last());
這應該為您提供有關該問題的更好提示。
還要確保,如果您使用safe_mode
和open_basedir
,則允許您移動到的路徑。
網絡驅動器可能不適用於apache和php,因此請使用此$ path =“ \\\\ machine-name \\ share_path \\”;
在兩台計算機上都設置一個用戶帳戶,例如user:ApacheUser
轉到服務並單擊Apache,然后使用剛創建的帳戶登錄(第二個選項卡)源計算機的Apache服務。
重新啟動apache服務
那么現在應該可以工作了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.