php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.08.2009, 11:33  
Neuer Benutzer
 
Registriert seit: 20.08.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
andre_1984 befindet sich auf einem aufstrebenden Ast
Standard Jeweils neuesten Ordner und Datei auslesen und anzeigen

Hallo!
Ich bin absoluter Neuling und bräuchte für meine Webcam Seite
wuerzburgcam.de Wetter Webcam fr Wrzburg - Altstadt Festung Marienberg

ein PHP Script, das dem Besucher das jeweils aktuelle Archivbild anzeigt. Die Bilder werden von der Webcam für jeden Tag, jeden Monat in einen neuen Ordner abgelegt.

--> Index of /www/archiv/2009

Ich habe hier schon etwas gefunden, weiß aber nicht, wie ich es entsprechend abändere..
Es müsste der jeweils als letzt erstellte Order aus /archiv/ gesucht werden, dann der letzt erstellte Tagesordner und darin natürlich die zuletzt erstellte .jpg Datei.


<?php
$folder = "test/";
$dir = opendir($folder);
$allowed = array('jpg');
while ($file = readdir($dir))
{
if (($file!= ".") && ($file!= ".."))
{
if (in_array(substr($file, -3), $allowed))
{
$filemtime=filemtime("$folder/$file");
$files[] = "$filemtime||$file";
}
}
}
closedir($dir);
$fcount = count($files);
if ($fcount!= 0)
{
rsort($files);
for($i=0; $i<1; $i++)
{
$lastimage = explode('||', $files[$i]);
$show_file = $lastimage[1];
$imagedata=@getimagesize("$folder/$lastimage");
echo"<img src=\"$folder$show_file\">\n";
}
}
?>




Vielen Dank für Eure Hilfe!
andre_1984 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2009, 09:22  
Erfahrener Benutzer
 
Registriert seit: 18.04.2009
Beiträge: 126
ibeg befindet sich auf einem aufstrebenden Ast
Standard

Folgendes Script durchsucht einen angegebenen Ordner nach dem zuletzt erstellten Ordner und sucht sich wiederum aus diesem die zuletzt erstellte .jpg Datei.


PHP-Code:
<?php

$folder 
"archiv/"// Haupterzeichnis mit / am Schluss
$allowed_files = array("jpg"); // Erlaubte Dateiendungen.


////////////////////////////////////////////////////////////////////////////////

$dirs=array();
$files=array();

// Verzeichnis nach Unterverzeichnissen durchsuchen
if(is_dir($folder))
{
  
$dir opendir($folder);
  while(
$file readdir($dir))
    {
    if( (
is_dir($folder.$file)) && ($file!= ".") && ($file!= "..") )
    {
      
$filemtime=filemtime($folder.$file);
      
$dirs[] = array($folder.$file,$filemtime);
    }
  }
  
closedir($dir);
}

if(
count($dirs)>0)
{
  
//Unterverzeichnisse nach Datum sortieren.
  
usort($dirs'vergleich');

  
// Alle Datein suchen deren Endung laut $allowed_files erlaubt sind
  
$dir opendir($dirs[0][0]);
  while(
$file readdir($dir))
  {
    if( (
is_file($folder.$file)) && strstr($file,".") )
    {
      
$end=explode(".",$file);
      
$end=strtolower($end[(count($end)-1)]);
      if(
in_array($end,$allowed_files))
      {
        
$filemtime=filemtime($folder.$file);
        
$files[] = array($folder.$file,$filemtime);
      }
    }
  }
  
closedir($dir);

  
// Datein nach Datum sortieren
  
usort($files'vergleich');
}

// Letzte Datei wiedergeben
if(count($files)>0) echo $files[0][0];
else echo 
"Keine gültige Datei in diesem Verzeichnis";



function 
vergleich($wert_a$wert_b
{
  
$a $wert_a[1];
  
$b $wert_b[1];
  
  if (
$a == $b) {
    return 
0;
  }
  return (
$a $b) ? -: +1;
}
?>
ibeg ist offline   Mit Zitat antworten
Alt 26.08.2009, 13:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.992
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Willkommen im Forum!

Beim Posten bitte bbCode für Quellbeispiele verwenden und Code einrücken.


Da es ja um das aktuelle Bild geht, kann man den Ordnerpfad schon mal aus dem aktuellen (oder einem anderen gewünschten) Datum generieren. Diesen Lookup kann man sich damit schon sparen.

PHP-Code:
$path date ('M/d'); 
Das letzte Bild des Ordners bekommst Du mit

glob ,
sort und
array_pop

Ich glaube, sort kann man sogar weglassen. Über date (ähnlich oben) könnte man auch das glob Ergebnis bereits einschränken.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (26.08.2009 um 13:19 Uhr).
nikosch ist gerade online   Mit Zitat antworten
Alt 27.08.2009, 13:44  
Neuer Benutzer
 
Registriert seit: 20.08.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
andre_1984 befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank!

Habe die PHP Datei so übernommen. Ds Script findet aber immer nur im ordner archiv/ das letzte bild. Die darin enthaltenen unterordner durchsucht er nicht.

archiv/2009/Aug/12/2009-08-12_17_00_08.jpg


Das script müsste ja wenn es über "Archiv" liegt zwei unterordner nach dem aktuellen durchsuchen, nicht nur einen. (Monats-Ordner, Tages-Ordner und darin die jpg datei)

Wieso findet er die aktuellste nicht?

Das mit globe, sort und array_pop verstehe ich auch noch nicht.

Geändert von andre_1984 (27.08.2009 um 14:14 Uhr).
andre_1984 ist offline   Mit Zitat antworten
Alt 27.08.2009, 14:18  
Erfahrener Benutzer
 
Registriert seit: 18.04.2009
Beiträge: 126
ibeg befindet sich auf einem aufstrebenden Ast
Standard

Das mim Tagesordner hab ich überlesen, müsste also nochmal eine Schleife dazu. aber den Ordnern direkt Datumsbezeichnungen zu geben wie nikosch es angesprochen hat, wäre wohl die beste Lösung.

zb archiv_09/08/27/bild.jpg
Jahresordner -> Monatsordner -> Tagesordner -> Datei.

PHP-Code:
$dir="archiv_";
$dir.=date('y/m/d/');

echo 
$dir;

$folder "archiv_"// Haupterzeichnis
$allowed_files = array("jpg"); // Erlaubte Dateiendungen. 


//////////////////////////////////////////////////////////////////////////////// 

$folder.=date('y/m/d/'); // Pfad zum aktuellen Verzeichnis
$dirs=array(); 
$files=array(); 

// Verzeichnis nach Unterverzeichnissen durchsuchen 
if(is_dir($folder)) 
{
  
$dir opendir($folder); 
  while(
$file readdir($dir)) 
  { 
    if( (
is_file($folder.$file)) && strstr($file,".") ) 
    { 
      
$end=explode(".",$file); 
      
$end=strtolower($end[(count($end)-1)]); 
      if(
in_array($end,$allowed_files)) 
      { 
        
$filemtime=filemtime($folder.$file); 
        
$files[] = array($folder.$file,$filemtime); 
      } 
    } 
  } 
  
closedir($dir); 

  
// Datein nach Datum sortieren 
  
usort($files'vergleich'); 


// Letzte Datei wiedergeben 
if(count($files)>0) echo $files[0][0]; 
else echo 
"Keine gültige Datei in diesem Verzeichnis"



function 
vergleich($wert_a$wert_b)  

  
$a $wert_a[1]; 
  
$b $wert_b[1]; 
   
  if (
$a == $b) { 
    return 
0
  } 
  return (
$a $b) ? -: +1

date('y/m/d/'); gibt Jahr,Monat,Tag zweistellig mit ev führender 0 aus.

$folder.=date('y/m/d/');

erzeugt also heute den pfad:
archiv_09/08/27/

Somit muss nur noch dieses Verzeichnis ausgelsen werden.

Auf glob hab ich verzeichtet da ich noch nix dazu gelesen hab ^^

Und getestet ist es diesmal nicht
ibeg ist offline   Mit Zitat antworten
Alt 27.08.2009, 14:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.992
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Auf glob hab ich verzeichtet da ich noch nix dazu gelesen hab ^^
Solltest Du schleunigst nachholen.

PHP-Code:
<?php

$path 
'archiv/' .  date ('Y/M/d/');

$picture_url array_pop (glob ($path '*.jpg'));
echo 
'<img src="' .$picture_url'" alt="">';
Das ist alles! So sollte es funktionieren, wenn das Script im www-Pfad liegt.

PS:
Zitat:
date('y/m/d/'); gibt Jahr,Monat,Tag zweistellig mit ev führender 0 aus.
Stimmt nicht, immer schön korrekt bleiben:

Zitat:
Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03

m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec

d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 27.08.2009, 14:51  
Neuer Benutzer
 
Registriert seit: 20.08.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
andre_1984 befindet sich auf einem aufstrebenden Ast
Standard

Ok danke für die schnelle Antwort,
werde es ausprobieren.

Ich hätte nochwas: Die Datei müsste das PHP Script auch wiedergeben, bei mir wurde nur Text angezeigt, wenn er eine Datei gefunden hat: "bild.jpg"
andre_1984 ist offline   Mit Zitat antworten
Alt 27.08.2009, 14:54  
Erfahrener Benutzer
 
Registriert seit: 18.04.2009
Beiträge: 126
ibeg befindet sich auf einem aufstrebenden Ast
Standard

Stimmt, glob scheint soch lesenswert.


Zitat:
Zitat:Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03

m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec

d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
Und was stimmt jetzt nicht an "Zweistellig mit eventuell (für den Fall dass es nur einstellig wäre) führender Null" ?
ibeg ist offline   Mit Zitat antworten
Alt 27.08.2009, 14:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.992
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

y ist zwar zweistellig, hier wird aber 4-stellig benötigt.
m ist zwar zweistellig, hier wird aber der Name benötigt.

Die Aussage stimmt, aber der Datestring passt nicht zur Frage -> irreführend.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 27.08.2009, 15:11  
Erfahrener Benutzer
 
Registriert seit: 18.04.2009
Beiträge: 126
ibeg befindet sich auf einem aufstrebenden Ast
Standard

also stimmts doch, es wird nur was anderes gebraucht ^^
ibeg ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datei aus Datenbank in einen Ordner verschieben/kopieren Asipak PHP Tipps 2009 2 30.07.2009 12:09
[Erledigt] Datei aus Ordner löschen Mila2008 PHP Tipps 2008 14 26.11.2008 15:02
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
Datei löschen mit unlink(); fender PHP Tipps 2006 2 12.11.2006 22:05
Log Datei auslesen Computer PHP Tipps 2006 7 05.09.2006 16:15
Daten aus einer txt Datei auslesen lassen Zangelo PHP Tipps 2006 4 29.05.2006 09:57
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
hilfe mit dem auslesen von datei aus einem ordner Tic Rederon PHP Tipps 2005-2 2 08.08.2005 11:30
Datei in Ordner überschreiben flual2000 PHP Tipps 2005-2 3 22.07.2005 13:28
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Kann keine Datei im eigens erstellten Ordner anlegen PHP Tipps 2005 8 11.03.2005 21:03
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
Ordner Auslesen PHP Tipps 2004 3 03.07.2004 09:17
Variable von .txt Datei auslesen PHP Tipps 2004 1 01.07.2004 11:18
jpg datei auslesen und nächste/vorherige anzeigen PHP Tipps 2004 7 23.06.2004 19:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/scriptboerse/58228-jeweils-neuesten-ordner-und-datei-auslesen-und-anzeigen.html, php neueste datei auslesen, letztes bild aus verzeichnis auslesen und anzeigen, jeweils neueste bild aus verzeichnis anzeigen, php verzeichnis auslesen und neueste datei anzeigen, bild mit neuestem datum aus verzeichnis anzeigen html, php neueste datei finden, jeweils neuesten, php nur neuste bilder auslesesn, durchsuchen eines ordners nach.textdateien in php, php datum zuletzt erstellter datei, php code auslesen und wiedergeben, php neuesten files auslesen, neueste datei php datum anziegen, script immer das neueste bild anzeigen, neuste dateien auslesen anzeigen php, php neueste datei aus verzueichnis lesen, neueste datei auslesen, jeweils neueste bild aus verzeichnis anzeigen html, php neuesten bilder aus verzeichnis

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum