Neueste Datei in Varible speichern

Bash, Shell, PHP, Python, Perl, CGI
steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Neueste Datei in Varible speichern

Post by steds »

HiHo RooTz!

Ich habe mit Hilfe der Suche leider nichts finden können und hoffe ihr könnt weiterhelfen:

Ich möchte gerne aus dem Verzeichnis http://www.steds.de/music/steds/stedsneu/ den vollen Dateinamen der neuesten Datei als Varible auslesen können und dann irgendwo beliebig wieder ausgeben. Aber halt nur der einfache Text.
Bsp.: Die Datei blubber.zip wurde als letztes modifiziert/hochgeladen,
also soll genau dieser Dateiname als einfacher Text in einer Varible stehen, in diesem Falle -->

Code: Select all

$dateiname="blubber.zip";


Also die datei die als letztes Hochgeladen bzw. als letztes modifiziert wurde.

Nur weiss ich einfach nicht wie.

Bitte gebt mir ein paar Denkanstösse und/oder à Schnippelchen Code.

vielen vielen Dank!


*gr33tz : Steds*
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Neueste Datei in Varible speichern

Post by captaincrunch »

Code: Select all

FOO=`ls -ltr | tail -1 | awk '{ print $9 }'`
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: Neueste Datei in Varible speichern

Post by steds »

öhm..., also erstmal danke für die Antwort!

Aber was bedeutet: FOO=`ls -ltr | tail -1 | awk '{ print $9 }'` ?

Sorry das ich da so blöd nachfrage aber so ein Profi bin i net.


Naja was anderes, ich hab hier ein fertiges Script im Netz gefunden, aber dort werden immer alle Dateien welche sich im Ordner befinden aufgelistet und nach ModifizierungsDatum geordnet. Soweit so gut, aber wie bekomme ich es hin das mir immer nur genau die Datei ausgegeben wird welche auch als letztes bearbeit, also die neueste Datei ist???

hier mal der Code:

Code: Select all

<?

$pfad = 'brutto';
$files = array();

// Verzeichnis einlesen in $files
$dir = opendir ($pfad);
while ($file=readdir($dir))
  if (ereg('.(jpg|gif|png|jpeg|zip|rar|pdf|htm|html|doc|xls)$', $file))
    $files[] = array (
      'name'=>$file,
      'mtime'=>filemtime("$pfad/$file")
    );

// $files nach mtime absteigend sortieren
function mycmp($a,$b)
{
  return ($a['mtime']==$b['mtime'] ? 0
    :($a['mtime']<$b['mtime'] ? +1:-1)
  );
}
usort ($files, 'mycmp');

// ausgeben
foreach($files as $file)
  echo "$pfad/$file[name]";

?>
Last edited by steds on 2004-03-30 13:44, edited 1 time in total.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Neueste Datei in Varible speichern

Post by captaincrunch »

Das ist die Lösung für dein Problem auf der Shell...schließlich hast du nichts davon gesagt, dass es in einer anderen Sprache sein soll.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: Neueste Datei in Varible speichern

Post by steds »

Sorry Captain!
Ich meinte natürlich das die ganze sache in PHP gecodet sein muss! ;) :D ;)
gamecrash
Posts: 339
Joined: 2002-05-27 10:52

Re: Neueste Datei in Varible speichern

Post by gamecrash »

Steds wrote:Ich möchte gerne aus dem Verzeichnis http://www.steds.de/music/steds/stedsneu/
Mit dem Verzeichnis wirste wenig Glück haben, ich glaube nicht, dass Du das Datum über HTTP kriegst? Evtl. als Header aber ob das so zuverlässig ist....
Steds wrote:Sorry Captain!
Ich meinte natürlich das die ganze sache in PHP gecodet sein muss! ;) :D ;)
Warum ist das natürlich? Wenn Du das geschrieben hättest, wäre es doch gleich viel natürlicher gewesen...

Zu Deinem Problem: Das Script hast Du ja schon, Du solltest halt nicht am Schluss per Schleife durchgehen sondern einfach den ersten Eintrag des Arrays ($files[0]) nehmen...