Как сделать проверку файла на наличие двух входных строк?

На данный момент я пытаюсь создать очень простой код проверки файлов, который требует, чтобы два входа были проверены как файлы:

<?php
    if (file_exists($_POST['input1'] . '.html')) &&(file_exists($_POST['input2'] . '.txt')) {
		header("Location: http://www.example.com/exists");
    } else {
        header("Location: http://www.example.com/noexist);
    }
?>

Код должен искать в папке два файла с именами, которые были введены как 'input1' и 'input2' (1 - это файл html, а 2 - текстовый файл), но он возвращает пустой экран.

Опечатка в конце второго заголовка. Написать "

Mohammad 10.10.2018 08:45

Привет, вы должны указать полный путь к файлу в file_exists() для проверки. если вы передаете только имя файла, это не сработает.

Lakhwinder Singh 10.10.2018 08:45

@LuckySaini Ты в этом уверен? Я бы подумал, что он проверит тот же путь, по которому находится вызывающий скрипт, если вы только дадите ему имя файла

brombeer 10.10.2018 08:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В вашем коде есть ошибка, в которой отсутствует " в другом состоянии, и вы должны использовать полный путь к вашему файлу вместо имени файла.

Все проблемы исправлены

$path= '/your_file_path/'; 
if (file_exists($path.$_POST['input1'] . '.html') && file_exists($path.$_POST['input2'] . '.txt'))  
{ 
    header("Location: http://www.example.com/exists"); 
} 
else 
{ 
    header("Location: http://www.example.com/noexist");
} 

лучший способ использовать это

$path1='/your_file_path/'.$_POST['input1'] . '.html';
$path2='/your_file_path/'.$_POST['input2'] . '.txt';

if (file_exists($path1) && file_exists($path2))

еще несколько деталей для использования абсолютного пути

$file_name=$_POST['input1'] . '.html';
$path= dirname(__FILE__) . DIRECTORY_SEPARATOR . "{$file_name}";

Дополнительная информация об абсолютном и относительном пути

  • Если путь строится от системного корня, он называется абсолютным.
  • Если путь строится от текущего местоположения, он называется относительным.

Ссылка ИЛИ более подробная информация об абсолютном и относительном пути

Подробнее о функции Файл существует()

"вы должны использовать полный путь к вашему файлу вместо имени файла" Если я что-то совсем не упустил, это неправда. if ( file_exists('.345345.ico') ) { echo "exists"; } работает должным образом и выводит «существует», если файл с именем .345345.ico находится в той же папке, что и сценарий, в котором находится этот код.

brombeer 10.10.2018 09:08

@kerbholz некоторое время конфликтовал относительный путь в функции php, тогда мы использовали абсолютный путь.

Bilal Ahmed 10.10.2018 09:13

Хорошо, "некоторые временные конфликты относительных путей в функции php" Никогда не было проблем с относительными путями (если только относительные пути не были неправильными, что не является ошибкой file_exists()s). Комментарий LuckySainis и ваш "вы должны использовать полный путь к вашему файлу вместо имени файла" звучат так, как будто это причина, по которой код OPs не работает, а использование только имени файла в file_exists() не допускается. Ничего

brombeer 10.10.2018 09:18

Другие вопросы по теме