Projet

Général

Profil

Paste
Télécharger (2,15 ko) Statistiques
| Branche: | Révision:

root / genererPano.php @ 72ecbd21

1
<!DOCTYPE html>
2
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
3
<head>
4
  <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
5
  <link type="image/x-icon" rel="shortcut icon" href="images/tsf.png"/>
6
  <title>convertiseur image vers panorama</title>
7
</head>
8

    
9
<?php
10
require 'class/utils.class.php';
11
utils::init();
12
if (isset($_GET['name'])) {
13
  $pano_name = $_GET['name'];
14
  $pano_basename = preg_replace('/\.[^.]+$/', '', $pano_name);
15
  
16
  //Partie exécutante du script gen_tiles qui gènere les tuiles à partir d'une image.
17
  $panos_dir = 'tiles';
18
  $pano_dest = $panos_dir.'/'.$pano_basename;
19
  if (! is_dir($panos_dir)) {
20
    echo "<p class=\"error\">le répertoire \"$panos_dir\" n'est pas accessible</p>\n";
21
  } else if (file_exists($pano_dest)) {
22
    echo "<p class=\"error\">le nom de répertoire \"$pano_dest\" est déjà pris</p>\n";
23
  } else {
24
    mkdir($pano_dest);
25
    $escaped_command = escapeshellcmd('./to_tiles/gen_tiles.sh -p '.$pano_dest.'/'.$pano_basename.' ./upload/'.$pano_name);
26
                
27
    printf("<h2>Exécution de la commande :</h2>\n<p class=\"cmd\"><samp>%s</samp></p>\n<pre>", htmlspecialchars($escaped_command));
28
    if ($fp = popen($escaped_command, 'r')) {
29
      while (!feof($fp)) {
30
        //set_time_limit (20); 
31
        $results = fgets($fp, 4096);
32
        if (strlen($results) == 0) {
33
          // stop the browser timing out
34
          flush();
35
        } else {
36
          $tok = strtok($results, "\n");
37
          while ($tok !== false) {
38
            echo htmlspecialchars(sprintf("%s\n",$tok))."<br/>";
39
            flush(); 
40
            $tok = strtok("\n");
41
          }
42
        }
43
      }
44
      print("</pre>\n");
45
      if (pclose($fp) === 0) {
46
        print("<h4><span class=\"success\">Opération réussie</span></h4>\n");
47
        printf("<p>Pour acceder directement au panorama <a href=\"panorama.php?dir=%s&amp;panorama=%s\">cliquer ici</a></p>\n", 
48
               $panos_dir, $pano_basename);
49
      } else {
50
        print("<h4><span class=\"error\">Opération en échec durant l'exécution du script !</span></h4>\n");
51
      }
52
    } else {
53
      print("<h4><span class=\"error\">Opération en échec à l'ouverture du script !</span></h4>\n");
54
    }
55
  }
56
  print("<p>Pour acceder à la liste des panoramas <a href=\".\">cliquer ici</a></p>\n") ;
57
}
58
?>