Инструкции в справочном документе PHP о запуске загрузки PHP через заголовки относительно просты, в Интернете очень мало статей по этому аспекту, и многие статьи не могут достичь желаемого эффекта. Сегодня я тоже расскажу на эту тему. Если вы почувствуете, что она улучшена по сравнению с некоторыми статьями в Интернете, то я буду очень доволен.
С точной точки зрения документ PHP является наиболее точным, поскольку в нем кратко перечислены три оператора, необходимые для запуска загрузки текстовых файлов. В качестве примера взят PDF:
Ниже приводится цитируемое содержимое:
// Мы будем выводить
заголовок PDF('Content-type: application/pdf'
// Он будет называться downloaded.pdf
header('Content-Disposition: Attachment; filename="downloaded.pdf"');
// Исходный файл PDF находится в файле original.pdf
readfile('original.pdf');
Эти три предложения верны, но во время фактического использования могут легко возникнуть некоторые непредвиденные проблемы. Если вы очень осторожны, вы можете легко избежать этих проблем. А я нет, поэтому столкнулся с такой проблемой. Здесь коротко расскажу о своей проблеме.
В первом предложении не должно быть ничего. Необходимо просто изменить тип документа. Например, если вы загружаете txt-файл, измените его на header('Content-type: application/txt'. );. Второе предложение. Нечего сказать, просто дайте загруженному документу имя. Если это текстовый файл, вы можете изменить его на заголовок ('Content-Disposition: Attachment; filename="downloaded.txt"'). ;, вопрос в третьем предложении. Функция readfile означает чтение файла и вывод его. Путь к файлу здесь должен быть реальным путем к файлу. Если это исходный файл .txt в папке загрузок. может записать readfile('downloads/original.txt'); и если отправленная страница будет выводить текст и другие символы, загруженный файл будет представлять собой смешанный файл исходного файла original.txt и текстового вывода отправленной страницы. Здесь мне не хватило внимательного наблюдения. Как только я увидел, что что-то не так, я сразу же проверил код, но не обнаружил, что приведенный выше текст — это то, что мне нужно. Обнаружив эту часть контента, вы можете быстро подумать, как решить. эта проблема, то есть отключение вывода текстового контента представленной страницы. На этом этапе проблема решена, и диалоговое окно загрузки запускается при нажатии ссылки на текстовый файл.