Sie sind nicht angemeldet.

1

Freitag, 31. März 2006, 01:26

PHP-Crashkurs - Panoramagalerie 1

Dieser Crashkurs ist in einer überarbeiteten Form auch in meinem Panorama-Tutorial zu finden. ------------------------------------------------------------------------------------------------------------------------ Fast jeder Provider bietet heutzutage PHP an. Die Scheu, das zu benutzen. ist groß. Aber leicht kann man sich mit PHP eine Menge Programmierarbeit sparen. Beispiel: Das Beispiel besteht aus einer aufrufenden und einer zeigenden Seite. Hier das Beispiel zum Testen: index.html. Beim Hinzufügen weiterer Panoramen ist lediglich das neue Panorama auf den Server zu laden und auf der Seite index.html ein entsprechender Link einzufügen. Vorgang: Die Panoramaseite show.php wird von index.html aus aufgerufen. Welcher Name und welches Panorama gezeigt werden, wird in der URL übergeben. Der Link muss die Form haben: show.php?name=Name&link=Link. Umlaute, Sonderzeichen und Leerzeichen müssen im Link passend für URLs kodiert werden. Das gesamte Beispiel zum herunterladen ist hier. Man kann PHP-Skripte allerdings nur durch Aufruf auf einem PHP-Server testen. Wamp (Windows), Lamp (Linux) und Mamp (Mac) sind leicht zu installierende Testumgebungen. Die folgenden Quelltexte sind aus Darstellungsgründen Bilder, die Quelltextdatei allein zum herunterladen ist hier. Aufrufende Seite index.html ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Zeigende Seite show.php. Ich habe sie möglichst einfach gehalten. ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- Die zeigende Panoramaseite show.php zeigt ohne Anhang der Zusatzinformation nichts an. Mit <?php echo "$name" ?> im Quelltext bewirkt man die Darstellung des in der URL übergebenen Namen. Mit <?php echo "$link" ?> im Quelltext bewirkt man die Darstellung des in der URL übergebenen Links zum Panorama. Info für Spezialisten: Der PHP-Absatz am Anfang ist nötig, da "Globals" meistens abgeschaltet ist. Das ist natürlich eine primitive PHP-Anwendung, aber auch für Nichtprogrammierer zu handeln. Man muss den Seiten durch HTML und CSS natürlich noch das gewünschte Gesicht geben. Noch Fragen?


willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

2

Freitag, 31. März 2006, 17:09

Kann man das ganze dann auch irgendwie mit Frames gestalten? (siehe Bild) Ich habe nicht viel Ahnung von HTML.

3

Freitag, 31. März 2006, 18:41

Zitat

Original von willybear Kann man das ganze dann auch irgendwie mit Frames gestalten? (siehe Bild)
Klar. Ich habe als Beispiel die Frame-Seite frames.html erstellt. Die drei Frames heißen kopf, navi und haupt. Seiten: frames.html index1.html die Navigation kopf.html nach Belieben home.html nach Belieben, erscheint beim ersten Aufrufen von frames.html show.php wie gehabt Beim Aufrufen von frames.html wird die Datei home.html in den haupt-Frame geladen. Die Links laden dann show.php in den haupt-Frame. Die Links in index1.html haben den Zusatz: target="haupt", z.B. <a href="show.php?name=Artemis&link=artemis-treppenhaus.mov" target="haupt"> Das wars. Das Ganze als Download ist hier


willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

4

Samstag, 1. April 2006, 21:33

Erstmal vielen Dank für deine Mühen! =) Ich steige da jetzt immer mehr dahinter. Kann ich die show.php irgendwie formatieren? (Hintergrundfarbe usw.) meine Versuche (mit Datenbank txt)

5

Samstag, 1. April 2006, 22:16

Ich weiß nicht, mit welchem Programm Du Deine Seiten erstellst. Für die Bearbeitung von show.php wirst Du um Arbeit mit dem Quelltext nicht herumkommen. Wenn Du Deine Navigationsseite analysierst, wirst Du sehen, dass die Hintergrundfarbe im <body>-Tag bestimmt wird. Schriftform und Farbe kann man durch <font>-Tags bestimmen. CSS ist moderner, wenn man sich ein bißchen auskennt. <body> wäre also durch <body bgcolor="#45576E"> zu ersetzen Die <?php xxx ?>- Einsprengsel kannst Du wie normalen Text z.B. in <font>-Tags einschließen. <?php echo "$feld[1] - $feld[2] vom $feld[3]" ?> wäre also durch <font face="Arial" color="#FF9900" size="3"><?php echo "$feld[1] - $feld[2] vom $feld[3]" ?></font> zu ersetzen. Das ist alles HTML, dazu gibt es im Internet viele Informationsseiten, auch endlos viele Bücher. Ich habe nur Möglichkeiten aufgezeigt, mit kleinen PHP-Schnipseln die Verwaltung von Panoramen auf einer Internetseite zu vereinfachen. HTML und CSS wären ein eigener Kurs, der allerdings mit Panoramen nichts zu tun hätte.

Übrigens ist der dritte Teil, den ich gerade eingestellt habe, erst einmal der letzte PHP-Crashkurs. Ist wahrscheinlich schon schwierig genug.


willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

6

Montag, 3. April 2006, 18:30

Meine Seite habe ich mit Netobjects Fusion 9 erstellt. Da hat man mit den Quelltext überhaupt nichts zu tun. Jetzt arbeite ich mit Frontpage. Das mit dem Formatierungen geht jetzt ganz gut. Mein neuer Panoramabereich nimmt jetzt langsam gestalt an. Kann man das ganze auch für JAVA umschreiben?

7

Montag, 3. April 2006, 19:05

Zitat

Original von willybear Kann man das ganze auch für JAVA umschreiben?
Den <object>-Bereich durch den <applet>Bereich ersetzen. Dann einfach im Quellcode da, wo der Link zu dem Panorama-JPG-Bild steht, <?php echo "$link" ?> einsetzen.
Das sieht dann z.B. so aus:

<applet archive =" ptviewer.jar" code="ptviewer.class" width="800" height="465" name="viewer">
<param name="file" value="<?php echo "$link" ?>">
<param name="view_height" value="450">
<param name="cache" value="false">
<param name="frame" value="img/javastrich.gif">
<param name="shotspot0" value=" x10 y450 a26 b465 u'ptviewer:ZoomOut()' i'img/zoom_out.gif' q- ">
<param name="shotspot1" value=" x27 y450 a42 b465 u'ptviewer:ZoomIn()' i'img/zoom_in.gif' q- ">
</applet>

Das ist der PTViewer-Code, den ich auf meiner Seite verwende. Die Darstellungsgröße ist 800x465 Pixel,
davon sind die unteren 15 Pixel eine Navigationsleiste im Quicktime-Stil mit Zoom in und Zoom out.
Das Panorama selber wird also 800x450 Pixel groß angezeigt.

3 Bilder werden für die Navigationsleiste benötigt (im Ordner "img" ):

javastrich.gif
zoom_in.gif
zoom_out.gif

Bei anderer Darstellungsgröße des Panoramas sind die Koordinaten für die Zoom-Tasten in den "Shotspot"-Zeilen entsprechend anzupassen.


willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

8

Montag, 3. April 2006, 19:22

Danke für die schnelle Antwort! Wie groß ist bei dir das Panorama bei der Darstellungsgröße von 800x465 Pixel?

9

Montag, 3. April 2006, 19:24

3000x1500 Pixel, bei Dateigrößen je nach Motiv 300k - 1MB.

10

Donnerstag, 6. April 2006, 15:06

Ich habe meine Anleitungen für ein PHP-Galerie jetzt auch in einer überarbeiteten Form in mein Panorama-Tutorial eingebaut. Dort sind jetzt 5 Beispiele zu finden, mit zunehmendem Schwierigkeitsgrad.

willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

11

Donnerstag, 6. April 2006, 17:41

Ich habe das mit Malums Panoramagalerie umgesetzt. Bis jetzt bin ich sehr zufrieden - ist schon eine grosse Erleichterung. meine Panoramagalerie Ist aber noch nicht fertig, wird aber jeden Tag weiter aktualisiert.

willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

12

Sonntag, 9. April 2006, 19:46

Hallo Malum, gibt es eine Möglichkeit die daten.txt für alle drei Panoramaversionen (Quicktime/ QuickTime Vollbild/ JAVA) zu nutzen? Man könnte doch die daten.txt um /link-qt-vollbild und /link-java erweitern. Ich habe jetzt von der show.php drei Versionen (show-qt.php/ show-qt-vb.php/ show-java.php) gemacht. Ginge das irgendwie?

13

Montag, 10. April 2006, 02:27

Zitat

Original von willybear Hallo Malum, gibt es eine Möglichkeit die daten.txt für alle drei Panoramaversionen (Quicktime/ QuickTime Vollbild/ JAVA) zu nutzen? Man könnte doch die daten.txt um /link-qt-vollbild und /link-java erweitern. Ich habe jetzt von der show.php drei Versionen (show-qt.php/ show-qt-vb.php/ show-java.php) gemacht. Ginge das irgendwie?
Die Textdatei brauchst Du eigentlich nicht zu ändern. Die .mov und .jpg-Dateien müssen dann bis auf das Suffix den gleichen Namen haben. Das Vollbild-Movie könnte noch die Erweiterung "-voll" haben. Also z.B. bautzen.mov bautzen-voll.mov bautzen.jpg Du kannst mit den verschiedenen "show.php" Dateien auf dieselbe Textdatei zugreifen. Da darfst die Suffixe ,jpg oder .mov nicht in der Textdatei speichern, damit alle Seiten darauf zugreifen können. Also Nr/Region/Name/Datum/Link 1/Deutschland/Bautzen/10.04.2006/bautzen Die .movs und .jpgs dann sortieren in z.B. "qt-panorama" Ordner "voll-panorama" Ordner "java-panorama" Ordner Dann jeweils in show.php den Link zum Panorama einsetzen: Quicktime: <?php echo "qt-panorama/$feld[4].mov" ?> Vollbild: <?php echo "voll-panorama/$feld[4]-voll.mov" ?> Java: <?php echo "java-panorama/$feld[4].jpg" ?> Oder Du schaust Dir mal mein PHP-Tutorial 5 an. Da übergebe ich die Versionsangabe im LInk ....&version=Quicktime oder ....&version=Java. Per "if" abfrage werden dann entweder Java oder Quicktime-Version angezeigt. Das könnte man leicht um eine Vollbild-Fassung erweitern. Allerdings willst Du ja wahrscheinlich bei der Vollbild-Version ein anderes Layout haben. Das wäre schwieriger. Wenn Du nicht klarkommst, sag Bescheid.

14

Dienstag, 11. April 2006, 17:19

Sehr nuetzlich, diese Chrashkurse. Habe mich am WE mal daran versucht und das klappt schon ganz gut. Bin noch nicht ganz fertig - wird aber :-) Vielen Dank, mike

willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

15

Montag, 17. April 2006, 15:13

Hallo Malum, wie müsste die show.php aussehen um die Equirectangular Version anzeigen zu lassen? Geht das ganze auch mit dem Immervision Viewer?

16

Montag, 17. April 2006, 16:33

Zitat

Original von willybear Hallo Malum, wie müsste die show.php aussehen um die Equirectangular Version anzeigen zu lassen? Geht das ganze auch mit dem Immervision Viewer?
Hier erst einmal der Code für die equirectangulare Fassung show.php (800x400 Pixel): ---------------------------------------------------------------------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<?php
foreach($_GET as $getkey => $getvalue)
$$getkey = $getvalue;
foreach($_POST as $postkey => $postvalue)
$$postkey = $postvalue; $datenbank= file('daten.txt');
$feld= explode('/',$datenbank[$pano]);
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title><?php echo "$feld[2] - Panorama" ?></title>
</head>
<body>
<div align="center">

<p><?php echo "$feld[1]: $feld[2] am $feld[3]" ?></p>

<img src="<?php echo "equi/$feld[4].jpg" ?>" alt="" height="400" width="800" border="0"> </div>

</body>
</html> ---------------------------------------------------------------------------------------------------------------------- Die equirectangularen JPGs müssen im Ordner "equi" liegen.

17

Montag, 17. April 2006, 19:57

Immervision per PHP-Datenbank

Zitat

Original von willybear Geht das ganze auch mit dem Immervision Viewer?
Das ist etwas komplizierter. Das Beispiel zumTesten ist hier. Das Beispiel zum Herunterladen ist hier. Wieder sind die Dateien index.php, show.php und daten.txt beteiligt. Die .jpg-Panoramen liegen im Ordner "immervision", die Thumbs im Ordner "thumbs". Das Zusatzproblem: Immervision bindet ja im <Applet>-Quelltext zwei .xml-Dateien ein. gui.xml und panorama.xml Gleich eine Warnung: Bei Änderungen an diesen Dateien ist es sehr schwierig, den Browser zum Neuladen zu überreden. Immer wieder wird die alte Fassung verwendet! gui.xml betrifft die Oberflche des Applets und kann wie beliebt gestaltet werden. In meinem Beispiel wieder im Quicktime-Look mit den Dateien javastrich.gif, zoom_in.gif und zoom_out.gif. Die zweite .xml.Datei panorama.xml muss leider umgebaut werden. Zuerst umbenennen in "panorama.php". Dann der Quelltext: ---------------------------------------------------------------------------------------------- <?php echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
foreach($_GET as $getkey => $getvalue)
$$getkey = $getvalue;
foreach($_POST as $postkey => $postvalue)
$$postkey = $postvalue; ?>

<panorama angleType="degree" xmlns="http://www.immervision.com/panorama">
    <panosphere id="sphere" layer="0" >
        <image file="<?php echo"immervision/$link.jpg" ?>" />
    </panosphere>
</panorama>
---------------------------------------------------------------------------------------------- Dann die Datei show.php. Das Immervision-applet verlinkt nicht direkt das Panorama, sondern die Datei panorama.php. Dieser muss das gewünschte Panorama wieder in bekannter Weise im Link übergeben werden. ---------------------------------------------------------------------------------------------- !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
foreach($_GET as $getkey => $getvalue)
$$getkey = $getvalue;
foreach($_POST as $postkey => $postvalue)
$$postkey = $postvalue; $datenbank= file('daten.txt');
$feld= explode('/',$datenbank[$pano]);
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title><?php echo "$feld[2] - Panorama" ?></title>
</head>

<body>
<div align="center">
<p><?php echo "$feld[1]: $feld[2] am $feld[3]" ?></p>


<APPLET archive="PurePlayer.jar" code="PurePlayer" width="400" height="315">
<param name="gui" value="gui.xml">
<param name="panorama" value="<?php echo"panorama.php?link=$feld[4]" ?>">
<param name="antialiasing" value="everytime">
</APPLET>

</body>
</html> ---------------------------------------------------------------------------------------------- Noch Fragen?

willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

18

Dienstag, 18. April 2006, 21:11

Erstmal vielen Dank! Kann man da noch einen Button für diese geniale Vollbildversion einbauen?

19

Mittwoch, 19. April 2006, 08:42

Zitat

Original von willybear Kann man da noch einen Button für diese geniale Vollbildversion einbauen?
Erklär mal genauer, in welche Seite Du den Button für welche Vollbildversion einbauen willst.

willybear

Administrator

Beiträge: 755

Wohnort: Bautzen

Beruf: Panograf

  • Nachricht senden

20

Mittwoch, 19. April 2006, 19:47

Das Plugin unterstützt doch eine Vollbild Version. Wenn ich mit dem File Builder die HTML, XML usw. erstellen lasse habe ich dann beim Panorama unten links eine Werkzeugleiste die ausklappt mit dem Vollbild Button.