我使用的搜索形式,我沒有發現任何類似的職位,所以請多多包涵。PHP文件上傳
我編碼一個腳本來得到一個目錄名作爲輸入,掃描目錄來存放文件,驗證文件(S)(擴展,e.t.c)和文件上傳到Web服務器。我已經完成了腳本的編碼(我使用了ftp_put,我知道我也可以使用cURL)。
現在的問題是,該腳本能正常工作在我的本地。但之後,我記得腳本將在線託管,然後我必須弄清楚如何解決上傳文件的路徑(我的意思是它不像我可以輸入C:/ blahblah作爲目錄名) 。
非常感謝你們。預期。
我使用的搜索形式,我沒有發現任何類似的職位,所以請多多包涵。PHP文件上傳
我編碼一個腳本來得到一個目錄名作爲輸入,掃描目錄來存放文件,驗證文件(S)(擴展,e.t.c)和文件上傳到Web服務器。我已經完成了腳本的編碼(我使用了ftp_put,我知道我也可以使用cURL)。
現在的問題是,該腳本能正常工作在我的本地。但之後,我記得腳本將在線託管,然後我必須弄清楚如何解決上傳文件的路徑(我的意思是它不像我可以輸入C:/ blahblah作爲目錄名) 。
非常感謝你們。預期。
使用$_SERVER['SCRIPT_FILENAME']
或__FILE__
常數來獲得當前腳本的文件名。然後使用函數dirname
從那裏創建一個相對路徑。
與配置的例子:在服務器上你只需要根據自己的需要更改配置文件:
的config.php:
return array(
'upload-folder' => 'path to folder',
);
腳本的其餘部分應該運行,那麼根據配置上,而不是硬編碼的 「目錄名」 值:
$config = include('config.php'); # load configuration data
...
process_upload($directory)
{
...
scanFolder($directory);
...
}
...
process_upload($config['upload-folder']); # inject directory dependency
希望這是想法更加清晰。這僅僅是一個例子,你可以通過各種方式做到這一點,重要的部分是你使腳本獨立於通過使用變量而改變的值。
使該路徑可配置。那麼你不需要改變代碼,而只需要改變配置。將配置注入需要處理文件的功能。 – hakre
使用$ _SERVER ['DOCUMENT_ROOT'] – Rikesh
@hakre,thx你的及時回覆,但我不明白你在說什麼。在我的本地主機上,我可以調用像'code' scanFolder(「directoryname」)這樣的函數; 'code'。我現在的問題是在Web服務器上調用上述相同的函數將導致服務器上的文件夾被掃描,而不是用戶。 –