Простите меня, если я не понимаю этого, но вот что я пытаюсь выполнить. У меня есть две php-страницы, каждая из которых генерирует отдельный файл json при отправке каждой формы. Я хочу, чтобы main.php был заполнен до того, как будет заполнен файл second.php. Итак, если пользователь перейдет на second.php, прежде чем заполнит main.php, он перенаправит их на main.php. Поэтому мне нужно, чтобы second.php «искал» путь к файлу main.json и, если пуст, перенаправляет обратно на main.php. Вот часть кода, который генерирует main.json. Файлы json сохраняются на моем веб-сайте.Перенаправление на веб-страницу, если JSON пуст
require_once $this->site_path . 'inc' . DIRECTORY_SEPARATOR . 'json_file.class.php';
$jsonFile = new JsonFile();
$json_result = $jsonFile->writeFile(
array(
'file_name' => $this->site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $file_data['username'] . DIRECTORY_SEPARATOR . 'main.json',//$this->json_path . DIRECTORY_SEPARATOR . $file_data['username']. '_'. 'main.json',
'data' => $obj
)
);
$result['json_file'] = $json_result;
// Save the uploaded file
if (!empty($file_data['profilebackground']['size'])) {
$target = $this->site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $file_data['username']. DIRECTORY_SEPARATOR . $file_name;
if (!move_uploaded_file($file_data['profilebackground']['tmp_name'], $target)) {
$result['image_file'] = 'There was an error saving the home page image. Please check the image directory permissions and try again.';
error_log('File ' . $file_data['profilebackground']['name'] . ' not saved: check the image directory permissions.');
} else {
include_once("php_img_lib.php");
img_resize($target, $target, 1000, 1000, $ext);
$result['image_file'] = 'The home page image was successfully uploaded.';
}
} else {
// $result['image_file'] = 'There was an error uploading the home page image. Please try again.';
// error_log('File ' . $file_data['profilebackground']['name'] . ' not uploaded.');
}
return $result;
}
public function getmainData($username) {
$albums_json_file = $this->site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $username . DIRECTORY_SEPARATOR . 'main.json';//$this->json_path . DIRECTORY_SEPARATOR . $username . '_'. 'main.json';
try {
$handle = @fopen($albums_json_file, "rb");
if (!empty($handle)) {
$albums_json_file_contents = fread($handle, filesize($albums_json_file));
fclose($handle);
}
if (!empty($albums_json_file_contents)) {
$albums_json_file_contents = json_decode($albums_json_file_contents);
} else {
$albums_json_file_contents = array();
}
if (!empty($albums_json_file_contents->main[0])) {
return $albums_json_file_contents->main[0];
} else {
return $albums_json_file_contents;
}
} catch (Exception $e) {
error_log($e->getMessage());
$albums_json_file_contents = array();
return $albums_json_file_contents;
}
}
Можно ли проверить, что main.php заполнен? Или я не понимаю правильно. Вы имеете в виду, что можно перейти непосредственно на second.php без первого удара main.php? – bmcculley
вы можете установить значение сеанса после установки JSON-flle – osanger
Два файла php - это две отдельные ссылки. Таким образом, пользователь может нажать кнопку «второй» на моем веб-сайте и перейти на эту страницу. Они могут перейти на вторую страницу, не перейдя на главную. Это проблема. Мне нужна вторая страница, чтобы получить содержимое main.json. И, если пустой, он будет перенаправлен на главную страницу. – iSITKiosk