У меня проблемы. Я создал веб-страницу с загружаемыми файлами, у меня есть база данных (MySQL) с правильным URL-адресом к файлу (путь к файлу) (в базе данных есть только URL-адрес файла, файл находится в папке на сервере). И теперь я пытаюсь написать / найти скрипт php, чтобы загрузить этот файл, который был загружен. Все в сети работает хорошо, но скрипты этой загрузки не работают. Я читаю, и я думаю, что лучший способ для меня будет скачать с заголовком, но я пытался и ничего. Файл загружается на наш диск, имя правильно, расширение файла в порядке, файл открыт в правильной программе, но если файл имеет имя с символами (‘;’, ‘:’ и т. Д.), Файл загружается без этих символов и является неправильным ( отсутствие расширения, плохое имя). И вторая проблема: все загруженные файлы пусты (размер 0 б), все в порядке, но они пусты, некоторые советы? Заранее спасибо за помощь
Мои плохие коды загрузки:
<?php
$data=date('Y-m-d_H:i:s');
$nazwa=$_POST['downtitle'];
$urlek=$_POST['downurl'];
$extrozsz=$_POST['downext'];
$filePath = $urlek;
$fileName = $nazwa.$data.".".$extrozsz;
//------------------------------------------------------------------------
// $fd = fopen($filePath,"r");
// $size = filesize($filePath);
// $contents = fread($fd, filesize($filePath));
// fclose($fd);
// header("Content-Type: application/octet-stream");
// header("Content-Length: $size;");
// header("Content-Disposition: attachment; filename=$fileName");
// echo $contents;
//----------------------------------------------------------------------// set_time_limit(0);
// while( $urlek = $response->fetch() )
// {
// $my_pliki = file_get_contents("$urlek");
// $my_file = fopen("$urlek","w+");
// fwrite($my_file,$my_pliki);
// fclose($my_file);
// }
//----------------------------------------------------------------------------
$quoted = $filePath;
$size = filesize($file);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $quoted);
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . $size);
?>
Параметр имени файла имеет некоторые ограничения, которые хорошо описаны в RFC6266
Поэтому, если вы хотите использовать символы, которых нет в наборе символов ISO-8859-1, вам необходимо использовать либо filename*
заголовок или вам нужно удалить / заменить эти символы из имени файла. Хорошее решение для этого можно найти Вот
Хорошо, теперь все в порядке, но другая проблема. У меня есть код для показа новостей на сайте. Все новости показываются одновременно (слишком длинный сайт). Я хотел бы, чтобы внизу номера сайтов (на всех сайтах под это для пересылки на второй подстранице со старыми новостями). Но как это сделать? Sup или sub для небольших слов, чисел и т. Д., Но все они извлекаются из базы данных:
$zapytanie='SELECT * FROM filetable WHERE Section="Other" ORDER BY ID DESC LIMIT 10';
Это в моем запросе php-кода для отображения последних 10 новостей, но если я добавлю обычно маленькие цифры внизу, как построить код для отображения следующих 10 новостей (нет там, где id = «10-11», потому что если у меня будет 1 тысяча новостей или более это слишком примитивно) У меня должен быть автоматический код для отображения страниц со следующими 10 или 20 новостями как?
Спасибо, я редактирую свой php на этом:
<?php
$data=date('Y-m-d_H:i:s');
$nazwa=$_POST['downtitle'];
$urlek=$_POST['downurl'];
$extrozsz=$_POST['downext'];
$filePath = $urlek;
$fileName = $nazwa.$data.".".$extrozsz;
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . $fileName."\"");
header("Content-Description: File Transfer");
readfile($filePath);
?>
И теперь все в порядке, но у меня есть один вопрос: в базе данных MySQL у меня есть заголовок, описание, дата добавления, дата премьеры и я хочу иметь поле поиска. Я сделал это в input type = «search», но какой скрипт сейчас используется для поиска в указанных таблицах в базе данных, сначала откройте базу данных, которую я знаю, но что позже, какая команда для поиска в базе данных? Я знаю о «как», но лучше? И в конце концов верните правильный результат и покажите все из базы данных, где это поисковое слово в порядке. Несколько советов? Извините за слабый английский и спасибо.