Schreiben Sie in die .json-Datei

Ich habe eine function erstellt, die meinen Post-Event-Typ abruft und in das json-Format konvertiert.

add_action( 'wp_ajax_events_ajax', 'events_ajax' ); add_action( 'wp_ajax_nopriv_events_ajax', 'events_ajax' ); function events_ajax() { $offset = $_POST['offset']; $args = array( 'post_type' => 'events', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_key' => 'wpsc_start_date', 'offset' => $offset ); $loop = new WP_Query($args); $array = array(); while ($loop->have_posts()) : $loop->the_post(); global $events; // $storage = $_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-content/themes/bakedwp/assets/data/'; // $jsonfile = /*dirname(__FILE__)*/$storage . '/assets/data/events.json'; $jsonfile = 'events.json'; $date = get_post_meta(get_the_ID(), 'wpsc_start_date', true); $result = explode("/", $date); $day = $result[1]; $month = $result[0]; $year = $result[2]; $array[] = array( 'day'=> $day, 'month'=> $month, 'year'=> $year, 'title' => get_the_title(), 'description' => get_the_excerpt($post), ); if (is_writable($jsonfile)) { if (!$handle = fopen($jsonfile, 'w+')) { echo "Erreur!! Impossible d'ouvrir $jsonfile."; exit; } if (fwrite($handle, $array) === false) { echo "Erreur !! Impossible d'écrire dans $jsonfile."; exit; } echo "Succès !! L'écriture dans $jsonfile a réussi."; fclose($handle); } else { echo "$jsonfile n'est pas accessible en écriture."; } echo "
"; endwhile; wp_reset_query(); ob_clean(); echo json_encode($array); }

Mein Problem ist, dass wenn ich sie laufen ließ, sagte mir, dass es unmöglich ist, in die Datei zu schreiben, aber ich habe die notwendigen Berechtigungen für diese Datei. Jeder hat eine Spur, um dieses Problem zu lösen?

PS: Die Datei, in die ich sie im Ordner “Assets” meiner Themen schreiben möchte.

Solutions Collecting From Web of "Schreiben Sie in die .json-Datei"