У меня небольшая проблема с настройкой содержимого php, я понимаю, где проблема, но я понятия не имею, как ее решить (новичок в использовании баз данных). Вызов этой php-страницы приведет к тому, что не будет отображаться какое-либо из эхо-сигналов и будет отображаться только окно загрузки, которое я предназначил только для «cv» (не уверен, работает ли он так, потому что загружаемый файл, который я получаю, не может быть открыт)
Удаление header(content...
строка header(content...
приведет к отображению эха, но я не смогу загрузить указанный файл. Я хочу, чтобы он отображался как ссылка, которая загружала бы ее содержимое при нажатии.
$newEmployeeName = $_POST['name']; $newEmployeeArea = $_POST['area']; $newEmployeeCV = $_POST['cv']; include('databaseConnection.php'); $result = mysql_query("SELECT * FROM participants"); while($row = mysql_fetch_array($result)) { $download_me = $row['cv']; header("Content-Disposition: attachment; filename=$download_me"); echo $row['name'] . " " . $row['area_of_exp'] . " " . $download_me; echo "<br />"; }
в$newEmployeeName = $_POST['name']; $newEmployeeArea = $_POST['area']; $newEmployeeCV = $_POST['cv']; include('databaseConnection.php'); $result = mysql_query("SELECT * FROM participants"); while($row = mysql_fetch_array($result)) { $download_me = $row['cv']; header("Content-Disposition: attachment; filename=$download_me"); echo $row['name'] . " " . $row['area_of_exp'] . " " . $download_me; echo "<br />"; }
Заголовок Content-Disposition
заставит скрипт представить что-либо эхо-сообщение после него в качестве загрузки. Обычно вы используете это при чтении файла из файловой системы, поэтому вы можете предложить это как загрузку. В вашем случае, если вы сохраняете CV на своем сервере, вы можете предлагать их в виде загрузки следующим образом:
<?php $sql = "SELECT * FROM table WHERE id = :id LIMIT 1"; $stmt = $db->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); $row = $stmt->fetchObject(); if ($row) { header('Content-Disposition: attachment; filename=' . $row['filename']); readfile($uploads_dir . $row['filename']); exit; } else { die('Invalid CV requested.'); }
Очевидно, что это упрощенная версия процесса, и вам нужно будет настроить ее в соответствии с вашим приложением, но это и есть ее суть.
Кроме того, не используйте функции mysql_
. Они устарели (согласно предупреждению на этой странице ). Используйте PDO или новое расширение MySQLi (MySQL).