<?php
$seatsArray = array();
$myFile = fopen("seats.txt", "w") or die("Unable to Open File!");
if(filesize("seats.txt") == 0) {
for($x = 0; $x < 10; $x++) {
fwrite($myFile, "0\n");
}
}
$seatsArray = file("seats.txt", FILE_IGNORE_NEW_LINES);
fclose($myFile);
?>
var array = [<?php echo '"'.implode('","', $seatsArray).'"' ?>];
Этот код PHP находится в верхней части моего раздела скрипта в голове. Файл seat.txt полон нулей, изначально представляющих свободные места в полете и через другие функции, места будут заполняться (представлены 1 с). Я могу получить 1s для записи в файл, но как только я перезагружаю страницу, if-statement, похоже, выполняется независимо от того, что его условие является ложным и сбрасывает все обратно до нуля.PHP-файл if-statement все еще выполняется, даже если false
Нет, 'filesize' [возвращает логическое значение false] (http://php.net/filesize), а вы делаете' if (filesize ("seat.txt") == 0) '. Вы выполняете свободное сравнение, которое будет равно «true», как в 'false == 0', которое в этом контексте является« истинным ». Для строгого сравнения типов вам нужно использовать '==='. Поскольку в руководстве указано '$ a === $ b \t Идентично \t ИСТИНА, если $ a равно $ b, и они одного типа. «Часть того же самого типа здесь очень важна. – Andrew
на самом деле ссылка, которую вы указали, говорит, что она возвращает 'int' –
_Выполняет размер файла в байтах или FALSE (и генерирует ошибку уровня E_WARNING) в случае ошибки._ – syck