簡體   English   中英

PHP:使用PHP將文件保存到其他根目錄嗎?

[英]PHP: Saving files with PHP to different root directory?

當我通過move_uploaded_file()用PHP保存上傳的文件時,可以,我不能使用絕對URL,而必須使用相對URL。 我的網站有2個根目錄,一個用於http端,一個用於https端:分別為httpdocs和httpsdocs。 因此,如果我的腳本位於https端,如何將文件保存到http端的位置?

謝謝!

UPDATE OK,所以好像我使用了錯誤的絕對路徑約定,我這樣做是這樣的:

$dir = 'https://www.mydomain.com/masonic_images/';
move_uploaded_file($_FILES['blue_image']['tmp_name'], $dir.$new_name);

move_uploaded_file()不接受任何一個參數的URL。 目標是文件系統上的絕對路徑。

<?php
$dir = '/var/www/httpsdocs/'; // Adjust to your configuration
move_uploaded_file($_FILES['blue_image']['tmp_name'], $dir.$new_name);

如@ apphacker建議。 您可以使用realpath(__FILE__)確定文件的絕對路徑。

如果由於不知道絕對路徑而不能使用絕對路徑,請使用PHP的realpath()找出它是什么,然后使用它。

httpdocs和httpsdocs目錄是否都位於同一父文件夾中? 如果是這樣,只需為move_uploaded_file中的第二個參數使用相對路徑即可將該文件放置在另一個根目錄中。

例如:

$uploaddir = '../httpdocs/';
$uploadfile = $uploaddir . basename($_FILES['myfile']['name']);

此代碼假定上傳腳本位於httpsdocs根目錄中,並且您要將文件保存到httpdocs目錄中。

請注意,由於您將上傳的文件放在httpdocs因此可以上傳php文件並執行任意代碼。

暫無
暫無

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

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