witam, wpierw wkleję kod mojej strony a potem omówię co do czego.

Kod

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="refresh" content="240"> <!-- ustawienie   CZASU odswiezania w sekundach -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="content-language" content="pl">
<meta name="description" content="Harmonogram Pracy - Mika" />
<meta name="author" content="Sza+aniK" />
      <title>..:: HARMONOGRAM :: PRACY :.: OPERATOR :: MASZYN ::..</title>
</head>

<body bgcolor="#4B66A5" text="white" style="margin-top:0cm" marginheight="0">
<p>

<table style="width: 100%;" >
<tbody>
<tr>
<td style="width: 20%;"><h3><div style="color:#FFFFFF;">Data ostatniej modyfikacji:  </div></h3></td>
<td style="width: 25%;">
<div style="color:#FFFFFF;"><b><h2>
<?php 
//Definiujemy nazw_ pliku, wraz z jej sciezka
$name = "grafik.pdf";   

function getModTime($file) 
{ 
$time = filemtime($file); 
$date = date("\n d.m.Y  \n, \g\o\d\z. \n H:i", $time); 
echo "\n<h1>" . $date;
} 
//Kod wy_wietlaj_cy zawarto__ funkcji 
getModTime($name); 
?>
</h2></b>
</div>
</td>
<td style="width: 25%;">

<p style="text-align:center; color:#99CCFF;">
uaktual. za:  
<span id="sekundy"></span>
<script type="text/javascript">
o = document.getElementById('sekundy')
   function odliczaj(o,sek)
   {
      o.innerHTML=sek
      if(sek > 0)
      {
         set = setTimeout(function(){odliczaj(o,--sek)},1e3)
      }
      if (sek == 0)
      {
         div = document.getElementById('hide');
         div.style.display = 'block';
      }
   }
   
odliczaj(document.getElementById('sekundy'), 240)
</script>
 sek.</p>


</td>
<td style="width: 30%; style="color: #ffffff;">
<h1>
<?php

//Deklaracja funkcji
function ost_mod($file)
{
$name = "grafik.pdf";
// pobranie unixowej daty ostatniej modyfikacji pliku
$time = filemtime($name);

// obliczenie ile sekund minelo od ostatniej modyfikacji do teraz
$roznica_czas = time() - $time;

// Jezeli roznica jest mniejsza niz 3600 sekund (godzina)
if ($roznica_czas < 3600)
{
// Jezeli roznica jest mniejsza niz 120 sekund (2 minuty)
if ($roznica_czas < 120)
{
  $komunikat = "<font color=#FFEE22><b> 1 minute temu.</b></font> ";
}
// Jezeli roznica jest wieksza niz 120 sekund
else
{
  $komunikat = intval($roznica_czas / 60) . "<font color=#FFCC55><b> minut(y) temu.</b></font>";
}
}

// Jezeli roznica jest mniejsza niz 7200 sekund (2 godziny)
else if ($roznica_czas < 7200)
{
$komunikat =  "1 godzine\n" .intval(($roznica_czas -3600) / 60) .  " minut(y) temu.";
}

// Jezeli roznica jest mniejsza niz 10800 sekund (3 godziny)
else if ($roznica_czas < 10800)
{
$komunikat =  "2 godziny\n" .intval(($roznica_czas -7200) / 60) .  " minut(y) temu.";
}

// Jezeli roznica jest mniejsza niz 14400 sekund (4 godziny)
else if ($roznica_czas < 14400)
{
$komunikat =  "3 godziny\n" .intval(($roznica_czas -10800) / 60) .  " minut temu.";
}

// Jezeli roznica jest mniejsza niz 18000 sekund (5 godzin)
else if ($roznica_czas < 18000)
{
$komunikat =  "4 godziny\n" .intval(($roznica_czas -14400) / 60) .  " minut temu.";
}

// Jezeli roznica jest mniejsza niz 21600 sekund (6 godzin)
else if ($roznica_czas < 21600)
{
$komunikat =  "5 godzin\n" .intval(($roznica_czas -18000) / 60) .  " minut temu.";
}

// Jezeli roznica jest mniejsza niz 25200 sekund (7 godzin)
else if ($roznica_czas < 25200)
{
$komunikat =  "6 godzin\n" .intval(($roznica_czas -21600) / 60) .  " minut temu.";
}

// Jezeli roznica jest mniejsza niz 28800 sekund (2 godziny)
else if ($roznica_czas < 28800)
{
$komunikat =  "7 godzin\n" .intval(($roznica_czas -25200) / 60) .  " minut temu.";
}
// Jezeli roznica jest mniejsza niz 86400 sekund (jedna doba)
else if ($roznica_czas < 86400)
{
$komunikat = intval($roznica_czas / 3600) . " godzin(y) temu.";
}

// Jezeli roznica jest mniejsza niz 172800 sekund (2 doby)
else if ($roznica_czas < 172800)
{
$komunikat = "1 dzien temu.";
}

// Jezeli roznica jest mniejsza niz 604800 sekund (1 tydzien)
else if ($roznica_czas < 604800)
{
$komunikat = intval($roznica_czas / 86400) . " dni temu.";
}

// Jezeli roznica jest mniejsza niz 1209600 sekund (2 tygodnie)
else if ($roznica_czas < 1209600)
{
$komunikat = "1 tydzen temu.";
}

// Jezeli roznica nie miesci sie w powyzszych warunkach
else
{
$komunikat = "ponad 2 tygodnie temu";
}

return "<em>zmiana:</em>\n " .$komunikat;

}

// wywolanie funkcji


echo ost_mod("");
?>
</h1>
</td>
</tr>
</tbody>
</table>
<embed src="grafik.pdf" width="100%" height="600" />

</p>
</body>
</html>

to zawartość pliku index.php

co ta strona robi:

  • wyświetla plik PDF o stałej nazwie (grafik.pdf) w głównym katalogu,
  • wyświetla date/czas ostatniej modyfikacji w/w pliku
  • wyświetla ile godz/min minęło od modyfikacji
  • odświeża stronę co xxx sekund, w tym wypadku 240sek=4min
    dodane też proste odliczanie na skrypcie,

I działa to na obecną chwilę .

Napotkane problemy:

  • problematyczne ustawianie wielkości koloru czcionki, ale to nie istotne
  • brak pl znaków, jak wyżej nie istotne na obecną chwilę
  • po umieszczeniu plików na serwerze, w katalogu np 'plikigrafik' niestety podanie ścieżki "plikigrafik/grafik.pdf" z ukośnikiem '', z pełną ścierzką litery dysku itp.. nie działa
    jak by nie mógł odnaleźć plików. Próbowałem na wszelkie sposoby.

OCZEKIWANIA po Modyfikacji:

  • strona podzielona na kila DIV, niestety dowiedziałem się że ramki html z których korzystałem 10 lat temu to przeżytek i odeszły w zapomnienie.
  • ma się znajdować w katalogu kilka plików PDF z rozpiskami na różne miesiące, np luty, marzec , kwiecień w związku z tym chciałbym"
    • żeby z boku/góry, znajdowała się lista obecnie znajdujących się plików PDF, udało mi się znaleźć skrypt na wyświetlenie plików w katalogu z danym rozszerzeniem
    • lista plików PDF powinna być posegregowana wg miesięcy rosnąco np luty 2018, marzec 2018, itp... za kilka miesięcy będzie np lipiec 2018, sierpień 2018, wrzesień 2018.
      Lista plików będzie zmieniać się. Lecz nie przekroczy 3 w danym miesiącu
    • lista plików będzie linkiem do wyświetlenia w innym 'oknie' DIV, głównym
  • w zależności od tego który miesiąc otwarty będzie na stronie www pokaże date czas jego zmiany, nie tylko grafik.pdf.. w ogóle ten plik zniknie na poczet plików z nazwą miesiąca i roku w nazwie.
  • domyślnie po otwarciu index.php ma wyświetlać plik pdf ( najniższy miesiąc w nazwie) teraz pytanie, jak nazwać te pliki?questionmark.gif np.: 2018.01.grafik.pdf questionmark.gif? i użyć do segregacji 'explode' i pierwsze 7 znaków?? jaką macie inną propozycję?

Oczywiście nie spodziewam się tu gotowca, proszę tylko o nakierowanie jakich skryptów, funkcji użyć. I odpowiedź czy z dostępnych przykładów w sieci jestem w stanie skleić do kupy działający kod? czy muszę jednak poznać zaawansowane techniki programowania?

Największy problem dla mnie będzie stanowiło wyświetlenie listy zlinkowanych plików w odpowiedniej kolejności miesiącami. Oraz jak zmienić obecny kod aby wyświetlił w oknie domyślnie plik o najniższym/najwcześniejszym miesiącu z dostępnych w katalogu.