У меня есть приложение php, которое сохраняет файлы на моем локальном компьютере.Я планирую загрузить его в plesk, но если я это сделаю, я не смогу получить доступ к этим файлам.Есть ли способ заставить xampp выступать в роли файлового сервера (например, мой рабочий стол доступен вне моей сети)?
часть php, которую я использую, выглядит следующим образом (часть загрузки, я определяю переменные идо этого):
if (isset($_GET['file_id'])) {
$ID = $_GET['file_id'];
// fetch file to download from database
$sql = "SELECT * FROM Files WHERE ID=$ID";
$result = mysqli_query($conn, $sql);
$file = mysqli_fetch_assoc($result);
$filepath = '/uploads' . $file['filename']; //this is the localhost file
if (file_exists($filepath)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($filepath));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('/uploads' . $file['filename']));
readfile('/uploads' . $file['filename']);
exit;
}
}
Таким образом, он сохраняется в папку с именем «uploads».У меня также есть экземпляр sql, с которым он сравнивается, что не важно для стороны xampp, но он есть.
Основной вопрос не о коде выше (это пример того, как он работает сейчас).Но скорее, как работают файлы конфигурации xampp, чтобы сделать это доступным извне.Так что на самом деле мне нужно иметь способ заменить «загрузки» на IP и путь к файлу.
В итоге:
SQL & WEB Host: Plesk
Хранилище файлов: Xampp через мой рабочий стол