Поэтому у меня есть скрипт для загрузки видеофайла, и он почему-то не работает. Переменные id, firstname и lastname взяты из другого сценария PHP, который извлекает значения из базы данных и открывает этот сценарий загрузки с переменными в URL.
Итак, проблема. Пока все работает, но когда файлы загружаются, все они называются -audio.wav и -video.webm. Пожалуйста, помогите, потому что у меня были огромные проблемы с этим, и это решило бы большую проблему.
Скрипт загрузки:
<?php
$id = $_POST['id'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$fileNameVideo = $firstname.$lastname."-video.webm";
$filePathVideo = 'videos/' . $fileNameVideo;
if (!file_exists($filePathVideo)) {
echo "<h1>Error Downloading ".$fileNameVideo." ".$php_errormsg."</h1><br>";
return;
}
header("Content-disposition: attachment; filename=" . $fileNameVideo);
header("Content-type: application/pdf");
readfile($filePathVideo);
echo "<h1>".$fileNameVideo." Downloaded</h1><br>";
?>
Скрипт для открытия страницы загрузки:
<?php
include 'upload/connection.php';
$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$conn) {
die("CONNECTION ERROR: " . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $conn);
if(!$db_selected) {
die( DB_NAME .' is not available. ERROR: '. mysql_error());
}
$result = mysql_query("SELECT id, fullname, grade, email, sendemail, send, invid, firstname, lastname FROM info WHERE invid = 1 ORDER BY id DESC");
while ($row = mysql_fetch_array($result)) {
$id = $row{'id'};
$firstname = $row{'firstname'};
$lastname = $row{'lastname'};
echo "<script>window.open('download-video.php?id=".$id."&firstname=".$firstname."&lastname=".$lastname."', '_blank');window.open('download-audio.php?id=".$id."&firstname=".$firstname."&lastname=".$lastname."', '_blank');</script>";
}
mysql_close();
?>
$firstname
а также $lastname
не установлены в сценарии загрузки, они должны быть
$_GET['firstname']
а также
$_GET['lastname']
поскольку они являются частью URL, вы используете суперглобальный массив $ _GET. не $ _POST
Я не уверен. Вы повторили переменные после извлечения из базы данных. Потому что я чувствую, что это нужно изменить
$id = $row{'id'};
$firstname = $row{'firstname'};
$lastname = $row{'lastname'};
В
$id = $row['id'];
$firstname = $row['firstname'];
$lastname = $row['lastname'];
Пожалуйста, объясните ошибку или вы попытались повторить переменные после извлечения из базы данных.