Размещение файлов на advanta.homeip.net
  • Загружаемые файлы размещаются по адресу http://advanta.homeip.net:8080//edunet в соответствии с именем пользователя в системе wikidot.
  • Имя пользователя fpi-N-NN отображается на имя каталога /edunet/fpi-N/NN/
  • Файл с именем filename размещается как /edunet/fpi-N/NN/filename
  • Правила именования размещаемых файлов:
    1. JYTHON-модули должны иметь тип .py
    2. PHP-quercus-модули должны иметь тип .php
    3. PHP-JavaBridge-модули должны иметь тип .phpj

Примеры PHP-модулей

http://advanta.homeip.net:8080//edunet/test.php

<?php phpinfo();?>

http://advanta.homeip.net:8080//edunet/test.phpj
<?php phpinfo();?>

http://advanta.homeip.net:8080//edunet/test2.phpj:
<?php
require_once("java/Java.inc");
$compileManager = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
$report = $compileManager->compileReport(realpath("./test2.jrxml"));
 
$params = new Java("java.util.HashMap");
$params->put("text", "Добро пожаловать на edunet.wikidot.com !");
$params->put("number", 3.00);
$temp= new Java('java.sql.Timestamp');$params->put("date", $temp->valueOf("2010-12-31 0:0:0"));
 
$emptyDataSource = new Java("net.sf.jasperreports.engine.JREmptyDataSource");
$fillManager = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
$jasperPrint = $fillManager->fillReport($report, $params, $emptyDataSource);
 
$exporterPdf= new Java("net.sf.jasperreports.engine.export.JRPdfExporter");
$JRPdfExporterParameter= new Java("net.sf.jasperreports.engine.export.JRPdfExporterParameter");
$exporterPdf->setParameter($JRPdfExporterParameter->JASPER_PRINT,$jasperPrint);
$objStream = new Java("java.io.ByteArrayOutputStream");
$exporterPdf->setParameter($JRPdfExporterParameter->OUTPUT_STREAM, $objStream);
$exporterPdf->exportReport();
header("Content-type: application/pdf");
echo java_cast($objStream->toByteArray(),"S");
?>

Клиентская часть загрузчика файлов, размещена на edunet.wikidot.com

<form enctype="multipart/form-data" method="POST" target="_blank"
    action="http://advanta.homeip.net:8080/upload.php">
    <table border=1 bgcolor="#74DF00">
        <tr>
      <td align=center >Имя пользователя</td>
      <td><input name="userid" style="width:100%;"    value="fpi-1-1"></td>
    </tr>
        <tr>
      <td align=center>Выберите файл для загрузки</td>
      <td><input type="file" size="80" name="deploy">
    </tr>
    <tr>
      <td colspan=2><input type="submit" value="Разместить" style="width:100%;"><td>
    </tr>
  </table>
</form>
</script>

Серверная часть загрузчика файлов, размещена на advanta.homeip.net

<?php
  $list= split("-",$_REQUEST["userid"]);
  $href= "/edunet/".$list[0]."-".$list[1]."/".$list[2]."/";
  $uploaddir= realpath("..".$href);
  $uploadname= $uploaddir."/".$_FILES["deploy"]["name"];
 
    header("Content-Type: text/html; charset=UTF-8");
  if(copy($_FILES["deploy"]["tmp_name"], $uploadname)){
    echo "<script type='text/javascript'>\n";
    echo "alert('Файл ".$_FILES["deploy"]["name"]." успешно загружен');\n";
    echo "location.href='".$href."';\n";
    echo "</script>";
  } else {
    echo "<H1>Ошибка загрузки файла</H1>";
  }  
?>

Загрузить upload.php


http://blog.dpjonline.com/tag/integrating-jasper-report-and-php/