#1 22.05.08 15:00
[php] Мешают заголовки.
Общая идея скрипта в следующем: через форму для отправки файла на сервер загружается документ .csv. Далее, документ обрабаывается и пользователю выводится график точек. Тип точек, которые следует выводить задается секбоксами (в файле содержится поле типа точки)
Код::
<?php
include("../src/jpgraph.php");
include("../src/jpgraph_scatter.php");
include("read.php");
if ($_FILES['File']['name']!="none")
{
if(copy($_FILES['File']['tmp_name'], "users/".$_FILES['File']['name']))
{
if($fp = fopen("../www/users/" . $_FILES['File']['name'], "rt") or die("NO!"))
{
$arr = $_POST['arr'];
$obj = new read_sort;
$dataxy = $obj->read($fp, "../www/users/" . basename($File), $arr);
$graph = new Graph(300,200,"auto");
$graph->SetScale("linlin");
$graph->img->SetMargin(40,40,40,40);
$graph->SetShadow();
$graph->title->Set("A simple scatter plot");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$sp1 = new ScatterPlot($dataxy[1],$dataxy[0]);
$sp1->mark->SetType(MARK_FILLEDCIRCLE);
$sp1->mark->SetFillColor("red");
$sp1->mark->SetWidth(8);
$graph->Add($sp1);
//print("<table align=center border=0");
//print("<tr><td>");
$graph->Stroke();
print("</td></tr>");
}
}
}
echo("<html><head><title>Handling File Uploads</title></head>");
echo("<body>");
print("<table align=center border=0");
print("<tr><td></td></tr>");
print("<tr><td>");
print("<form action=probe2.php method=POST enctype=multipart/form-data>\n");
print("Type 1 <input type=checkbox name=arr[] value=type1><br>");
print("Type 2 <input type=checkbox name=arr[] value=type2><br>");
print("Type 3 <input type=checkbox name=arr[] value=type3><br>");
print("<p>Upload a file to the server:<br>\n");
print("File <input type=file name=File size=20><br>\n");
print("<input type=submit name=submit value=submit!>\n");
print("</form>");
print("</td></tr>");Вопрос таков - результат функции $graph->Stroke(); нужно выводить в отдельную ячейку таблицы...и, естественно было бы вставить
Код::
print("<table align=center border=0");
print("<tr><td>");перед функцией. Но библиотечная функция $graph->Stroke(); ругается на принты(ругается на модификацию заголовка страницы).
Как можно извратиться и вывести график в отдельную ячейку?
Бонусный вопрос! Как можно выставить чекбоксы в активное состояние по умолчанию?
Исправлено Rash (22.05.08 15:02)
Offline
#4 22.05.08 17:35
Re: [php] Мешают заголовки.
Спасибо, с чекбоксами разобрался. Поблема осталась в том, что нужно вывести график, возвращемый функцией $graph->Stroke(); в отдельную ячейку таблицы. После перехвата потока с помощью ob_start(), функция ob_get_contents() не возвращает изображение. Видимо она не предназначена для этого. Каким способом возможно вывести график в нужное место?
Offline
#5 22.05.08 17:53
Re: [php] Мешают заголовки.
Нужно, чтобы было так:)
http://hostel.nstu.ru/uploaded/profiles … 1211453485
График - сверху, форма - снизу.
Исправлено Rash (22.05.08 17:54)
Offline
#6 22.05.08 23:05
Re: [php] Мешают заголовки.
Rash, смотри... та самая ффункция выдает в поток содержимое графического файла... а для этого ему обязательно надо передать заголовок, сообщающий миме-тип... т.ч. тебе скрипт вывода графика надо подключать уже в готовой странице через <img src="script.php">
Offline

