Software-OK
≡... News | ... Home | ... FAQ | Impressum | Kontakt | Gelistet bei | Danke |

  
HOME ► Windows Tip - Perl ► «««« 07 / 07 »»»»

Beispiel in Perl, ein Datei Explorer um Dateien hochzuladen?


Hier ist ein einfaches Beispiel in Perl, als ein kleiner Basis Datei-Explorer um Dateien auf dem Webserver hochzuladen, recht einfach gehalten, um es zu verstehen! 



Inhalt:

1.) ... Beispiel in Perl, als ein kleiner Basis Datei-Explorer!
2.) ... Ist ein so kleiner Datei-Explorer in einem Perl-Skript nützlich?


1.) Beispiel in Perl, als ein kleiner Basis Datei-Explorer!

Der vorliegende Code ist im Großen und Ganzen korrekt, jedoch ist es wichtig sicherzustellen, dass die Verzeichnis- und Dateinamen korrekt behandelt werden. Dies gewinnt besonders an Bedeutung, wenn das Skript auf einem Betriebssystem ausgeführt wird, das sich von dem unterscheidet, auf dem es entwickelt wurde. Unterschiedliche Betriebssysteme verwenden möglicherweise unterschiedliche Schreibweisen für Dateipfade und Verzeichnistrennzeichen.


#!/usr/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
 
# Erstelle ein CGI-Objekt
my $cgi = CGI->new;
 
# Drucke den Header mit dem Content-Type
print "Content-type: text/html\n\n";
 
# Drucke den HTML-Anfang
print "<!DOCTYPE html>\n<html>\n<body>\n";
 
# Zeige das aktuelle Verzeichnis an
my $current_dir = $cgi->param('dir') || '.';
# Wenn kein Verzeichnis angegeben ist, benutze das aktuelle Verzeichnis
 
print "<h2>Aktuelles Verzeichnis: $current_dir</h2>";
 
# Liste der Dateien im aktuellen Verzeichnis
 
my @files = glob("$current_dir/*");
# Sortiere die Dateien alphabetisch
@files = sort @files;
 
# Zeige die Dateien an
print "<ul>";
foreach my $file (@files)
{
    # Extrahiere den Dateinamen aus dem vollen Pfad
    my $file_name = (split('/', $file))[-1];
    # Überprüfe, ob es sich um ein Verzeichnis handelt
    my $is_folder = -d $file;
 
    print "<li class='", $is_folder ? 'folder' : '', "'>";
 
    print "<span>$file_name</span>";
 
    if ($is_folder)
    {
      # Wenn es sich um ein Verzeichnis handelt, erstelle einen Link zum Öffnen
      print "<a href='?dir=$file'> [... Öffnen]</a>";
    }
    print "</li>";
}
print "</ul>";
 
# Drucke das Formular zum Hochladen von Dateien
# mit 'enctype' auf 'multipart/form-data' gesetzt
 
print $cgi->start_form(-method => 'POST', -enctype => 'multipart/form-data', -action=>'');
print "<p>Datei hochladen: <input type='file' name='upload_file'></p>";
print "<p><input type='submit' value='Hochladen'></p>";
print $cgi->end_form;
 
 
# Verarbeite das hochgeladene File
 
if ($cgi->param('upload_file'))
{
     # Hole den hochgeladenen Datei-Handle
    my $upload_file = $cgi->upload('upload_file');
 
    # Extrahiere den Dateinamen aus dem vollen Pfad
    my $pfad_zur_datei=$cgi->param('upload_file');
    $pfad_zur_datei=~s/\\/\//gs;
    my $file_name = (split(/\//, $pfad_zur_datei))[-1];
 
    my $ziel_path = "$current_dir/$file_name"; # Setze den Pfad für das Ziel
 
    my $out;
 
    open ($out, ">$ziel_path") or die "Can't open file '$ziel_path' for writing: $!";
 
 
    while (my $chunk = $upload_file->getline)
    {
 
    # Schreibe die hochgeladene Datei in das Zielverzeichnis
    print $out $chunk;
 
    }
 
    close $out;
 
    print "<p>Datei erfolgreich hochgeladen!</p>";
}
 
# Drucke das HTML-Ende
print "</body></html>";
 
 


2.) Ist ein so kleiner Datei-Explorer in einem Perl-Skript nützlich?


Ein einfacher Datei-Explorer in einem Perl-Skript kann in bestimmten Situationen durchaus sinnvoll sein, je nach den Anforderungen und dem Kontext deines Projekts. Hier sind einige mögliche Anwendungsfälle und Überlegungen:

Einfache Dateiverwaltung: Ein kleiner Datei-Explorer kann nützlich sein, wenn Benutzer auf einfache Weise durch Dateien auf einem Server navigieren und diese hochladen möchten.

Bildungszwecke: Ein solches Beispiel eignet sich gut für Bildungszwecke, um grundlegende Konzepte von Webentwicklung und Dateioperationen in Perl zu vermitteln.

Schnelle Tests und Debugging: Für Entwickler kann ein einfacher Datei-Explorer während der Entwicklungsphase nützlich sein, um schnell Dateien auf einen Server hochzuladen oder auf Dateien zuzugreifen.

Allerdings gibt es auch einige Überlegungen und mögliche Herausforderungen:

Sicherheit: Dieses Beispiel ist sehr einfach und sollte nicht in einer produktiven Umgebung ohne entsprechende Sicherheitsmaßnahmen verwendet werden. Insbesondere sollte der Dateizugriff eingeschränkt und auf autorisierte Benutzer beschränkt werden.

Benutzerfreundlichkeit: Ein einfacher Datei-Explorer kann in Bezug auf Benutzerfreundlichkeit begrenzt sein. Für umfassendere Anforderungen und Funktionen könnte die Integration eines bestehenden Datei-Management-Tools oder einer Bibliothek sinnvoller sein.

Skalierbarkeit: Dieses Beispiel ist sehr einfach und für kleine Projekte oder Bildungszwecke gedacht. Bei größeren Projekten oder komplexeren Anforderungen könnte es sinnvoll sein, auf robustere Lösungen zurückzugreifen.


Insgesamt hängt die Sinnhaftigkeit eines solchen Datei-Explorers stark von den spezifischen Anforderungen und Zielen deines Projekts ab. Es ist wichtig, sicherzustellen, dass jede Implementierung den Sicherheitsstandards entspricht und für die beabsichtigte Verwendung geeignet ist.



Es wird empfohlen, eine plattformunabhängige Methode zur Manipulation von Dateipfaden zu verwenden, um eine reibungslose Ausführung auf verschiedenen Betriebssystemen zu gewährleisten. Beispielsweise könnte das Modul File::Spec in Perl nützlich sein, um Dateipfade zu manipulieren und auf die jeweiligen Eigenheiten verschiedener Betriebssysteme einzugehen.


Ein Beispiel für die Verwendung von File::Spec:

 
 
use File::Spec;
 
# ...
 
# Ersetze den Code: $pfad_zur_datei =~ s/\\/\//g;
# Durch die Verwendung von File::Spec
$pfad_zur_datei = File::Spec->canonpath($pfad_zur_datei);
 
# ...
 
 


Durch die Verwendung von File::Spec wird sichergestellt, dass die Dateipfade auf dem jeweiligen Betriebssystem korrekt formatiert sind. Dies trägt dazu bei, potenzielle Fehler beim Dateizugriff zu minimieren und die Portabilität des Skripts zu verbessern.



Aktualisiert am: 22 November 2023 20:25 Windows
Keywords: perl, beispiel, datei, explorer, dateien, hochzuladen, hier, einfaches, kleiner, basis, datei-explorer, webserver, recht, einfach, gehalten


Ähnliche Informationen auf der Seite

Windows

... Mit Perl Zip Ordner entpacken?


Recht einfach kann man mit Perl einen Zip Ordner entpacken, warum auch nicht wen das Entpacken von Ordnern in Perl so einfach funktioniert Inhalt: 1.
Windows

... Perl Zufall String ohne Zusatz Module


Recht einfach kann man in Perl Zufalls-String ohne Zusatz Module generieren, hier ein schlichtes kostenloses Beispiel Inhalt: 1. Perl-Skript zum generieren
Windows

... Mit Perl eine Zahl mit Tausendertrennung und Dezimalstellen formatieren?


Hier ist die Lösung, um mit Perl eine Zahl mit Tausendertrennung und einer bestimmten Anzahl von Dezimalstellen im Deutschem Zahlenformat zu formatieren
Windows

... Mit Perl die gleichen String Regeln wie im MS Windows Menü?


Das Anwenden der gleichen Zeichenketten Regeln wie in einem MS Windows Menü auf Text in Perl kann nützlich sein, wenn Sie beispielsweise Texte generieren
Windows

... Mit Perl die korrekte Zeit abfragen, ausgeben


In diesem Tipp erhalten Sie grundlegende Informationen zum Verarbeiten und Bearbeiten von Datums- und Uhrzeitangaben in Perl. Wenn Sie die Funktion localtime
Windows

... Im Datei Explorer Foto Übersicht drucken


Man kann einfach im Datei Explorer eine Foto Übersicht drucken, wie zum Beispiel über die Miniaturansichten in Q-Dir auf allen MS Windows OS 1. Starten
Windows

... Kann man die Suchoptionen im Windows 11 Datei Explorer ändern?


Jeder kann die Suchoptionen im Windows 11 Datei Explorer ändern / anpassen um zum Beispiel komprimierte Dateien .ZIP, .CAB usw. einzubeziehen Jeder weiß



▲ Zum Anfang ▲



... Perl Tip



3D.Benchmark.OK # AlwaysMouseWheel # AutoHideDesktopIcons # AutoPowerOptionsOK # ClassicDesktopClock # DasSindMeineDateien # DesktopDigitalClock # DesktopNoteOK # DesktopOK # DontSleep # Edge-Chromium # ExperienceIndexOK # Find.Same.Images.OK # FontViewOK # GetPixelColor # GetWindowText # Internet # IsMyHdOK # JavaScript # MatriX.CoronaKO # NewFileTime # OpenCloseDriveEject # OpenGL # Perl # PhotoResizerOK # Q-Dir # QuickMemoryTestOK # QuickTextPaste # Registry # ShortDoorNote # SicherLoeschen # StressMyPC # System # TheAeroClock # Tools # WinScan2PDF #




  

  + Freeware
  + Ordnung am PC
  + Dateiverwaltung
  + Automatisierung
  + Office Tools
  + PC-Test-Tools
  + Deko und Spaß
  + Desktop-Uhren
  + Security

  + SoftwareOK Pages
  + Micro Staff
  + Freeware-1
  + Freeware-2
  + Freeware-3
  + FAQ
  + Downloads

  + Top
  + Desktop-OK
  + The Quad Explorer
  + Don't Sleep
  + Win-Scan-2-PDF
  + Quick-Text-Past
  + Print Folder Tree
  + Find Same Images
  + Experience-Index-OK
  + Font-View-OK


  + Freeware
  + DontSleep
  + GetPixelColor
  + MagicMouseTrails
  + QuickTextPaste
  + Run-Command
  + DesktopNoteOK
  + NewFileTime
  + QuickMemoryTestOK
  + ShortDoorNote
  + PAD-s


Home | Danke | Kontakt | Link | FAQ | Settings | Windows 2015 | eBlog | English-AV | Impressum | Translate | PayPal | PAD-s

 © 2025 by Nenad Hrg ERR2: softwareok.de • softwareok.de • softwareok.com • softwareok.eu
69.108 msec.


► Dateien die jünger als Datum sind zu löschen über Befehlszeile!? ◄
► Was ist der Defender Manipulationsschutz beir Windows 11, 10, usw.? ◄
► Beim Programm verstehe ich die Funktion "Bessere Bilder markieren" nicht? ◄
► Wie groß ist Windows XP auf der Festplatte? ◄


Diese Webseite speichert keine personenbezogenen Daten. Allerdings werden Drittanbieter verwendet, um Werbung zu schalten.
Diese wird von Google verwaltet und entspricht dem IAB Transparency and Consent Framework (IAB-TCF).
Die CMP-ID lautet 300 und kann am Seitenende individuell angepasst werden.
mehr Infos & Datenschutz

....