Как загрузить файл в папку вне веб-корня - PullRequest
2 голосов
/ 22 марта 2012

Я искал здесь похожий вопрос, но не смог найти ничего, что решило бы мою проблему.Я хочу загрузить файл в папку чуть выше веб-корня (папка www).Я бегу Wamp на окнах.Пожалуйста, как мне этого добиться?Спасибо.

Ответы [ 2 ]

4 голосов
/ 22 марта 2012

По умолчанию файлы будут загружены намного выше корневого веб-сайта в целях безопасности, и вам придется переместить их туда, куда вы хотите. Посмотрите на move_uploaded_file () .

Посмотрите на print_r($_FILES), и он покажет вам местоположение каждого загруженного вами файла.

2 голосов
/ 22 марта 2012

Это похоже на то, что я использую для изображений, загружаемых с помощью форм. Предполагается, что поле ввода имеет имя 'image'.

function getExtension($str) {
    $i = strrpos($str,".");
    if (!$i) { return ""; }
    $l = strlen($str) - $i;
    $ext = substr($str,$i+1,$l);
    return strtolower($ext);
}    

// Get the extension of the uploaded file
$ext = getExtension($_FILES['image']['name']);

// Give the file a new name (if you need) and append the extension.
$img_name = time().$ext;

// Set destination for upload
$new_image = "./images/uploaded/" . $img_name;

// Copy the file to the new location
$copied = copy($_FILES['image']['tmp_name'], $new_image);

Вы можете использовать это для любого загруженного файла, как указано в предыдущем ответе, выполнение var_dump($_FILES) покажет вам все, что вам нужно знать о загруженном файле, прежде чем что-либо делать с ним.

...