У меня небольшая проблема с моим PHP-кодом. Я хочу создать сайт с разными каталогами. В каждом каталоге есть файл с именем pass (not .txt или что-то еще) со значением пароля каталогов. Поэтому, если файл pass не существует, группа не будет существовать. Но даже если группа существует, она все еще говорит, что группа не существует, и я тоже не могу ее открыть, но я могу найти ее. Вот мой код:
PHP file_exists возвращает false с существующими файлами
<?php
$name = $_POST['name'];
$group = $_POST['group'];
$pass = $_POST['pass'];
$filename = '/groups/' . $group . '/pass';
if(file_exists($filename)){
$handle = fopen($filename) or die("can't open file");
$hoi = fread($handle, filesize($filename));
fclose($handle);
if ($pass === $hoi){
session_start();
$_SESSION['name'] = $name;
header('Location: http://www.google.com');
}
else{
echo 'Password is wrong!';
}
}
else{
echo 'Group does not exist!';
}
?>
Все POST-данные правильны кстати. Спасибо за вашу помощь!
старайтесь всегда давать полный путь. –
'$ filename = '/ groups /'. $ group. '/ pass'; '- это абсолютный путь к файлу, поэтому вы по существу (предполагаете, что используете для этой ссылки окна), видя, существует ли' c:/groups/.... '. – Jon
путь к файлу должен быть абсолютным. Предлагаемый способ должен использоваться: define ('ROOT', dirname (__ FILE__)); // define ('ROOT', 'c: \\ somedir'); затем используйте $ filename = ROOT. '/ groups /'. $ group. '/проходить'; – sabkaraja