Я использую phplot для построения графика на веб-странице, и у меня есть для него следующий код,
<?php
//Include the code
require_once 'C:/xampp/htdocs/phplot-6.1.0/phplot.php';
//Define the object
$plot = new PHPlot();
//Define some data
$example_data = array(
array('a',3),
array('b',5),
array('c',7),
array('d',8),
array('e',4),
array('f',6),
array('g',7)
);
$plot->SetDataValues($example_data);
//Turn off X axis ticks and labels because they get in the way:
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
//Draw it
$plot->DrawGraph();
?>
я не хочу определять данные как в $ example_data, но я хочу прочитать или загрузить его из внешнего файла, такого как txt или json, пожалуйста, предложите, как это сделать, и каков тип внешнего файла, который будет загружен?
Да, ты можешь:
$file = 'your.json';
$example_data = json_decode( @file_get_contents( $file ) );
Ваш.json (например):
[["a",3],["b",5],["c",7],["d",8],["e",4],["f",6],["g",7]]
обновлено!
для создания динамического json файла:
$data = array();
$data[] = array( 'a' , 3 );
$data[] = array( 'b' , 1 );
$data[] = array( 'c' , 2 );
$data[] = array( 'd' , 4 );
$data[] = array( 'e' , 8 );
$data[] = array( 'f' , 6 );
$data[] = array( '6' , 7 );
echo json_encode( $data );
другой путь :
make_data.php
:
$data = array();
$data[] = array( 'a' , 3 );
$data[] = array( 'b' , 1 );
$data[] = array( 'c' , 2 );
$data[] = array( 'd' , 4 );
$data[] = array( 'e' , 8 );
$data[] = array( 'f' , 6 );
$data[] = array( '6' , 7 );
return $data;
и для чтения:
$example_data = include( 'make_data.php' );
То, что кажется довольно распространенным решением, - это просто вернуть массив php.
include.php:
<?php
return array(14, 34, 342, 4252);
index.php:
<?php
$data=include('include.php');
Как это?
<?php
//Include the code
require_once 'C:/xampp/htdocs/phplot-6.1.0/phplot.php';
//Define the object
$plot = new PHPlot();
//Define some data
$example_data = json_decode(file_get_contents("some_external_file.json"),true);
$plot->SetDataValues($example_data);
//Turn off X axis ticks and labels because they get in the way:
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
//Draw it
$plot->DrawGraph();
?>
some_external_file.json
{"a":3,"b":5,"c":7,"d":8,"e":4,"f":6,"g":7};