Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Dateityp von hochgeladenen Dateien auslesen

Frage Entwicklung PHP

Mitglied: DeeDee0815

DeeDee0815 (Level 1) - Jetzt verbinden

10.11.2006, aktualisiert 14.11.2006, 7636 Aufrufe, 4 Kommentare

Hallo,

ich möchte überprüfen, ob eine hochgeladene Datei im TARGZ-Format vorliegt. Wie macht man das? Bei Bildern geht das ja mit getimagesize(), das hilft aber logischer Weise nicht bei Archiven. Die Funktion filetype http://us2.php.net/filetype hilft mir, jedenfalls mit dem unter dem Link beschriebenem Syntax nicht weiter. Ich hätte es - wie gesagt - schon gerne etwas genauer als fifo, char, dir, block, link, file oder unknown.

Gruß
DeeDee0815
Mitglied: Dani
10.11.2006 um 19:13 Uhr
Hi,
also so müsste es gehen. Du musst halt noch den Pfad anpassen und die Dateitypen.

01.
if($_FILES["file"]["name"]!="") //Wurde ein Bild überhaupt ausgewählt? 
02.
03.
	// Variabeln festlegen für Bild-Upload 
04.
	$allowed_types = "(jpg|jpeg|gif)"; //Erlaubte Endungen des Bildes 
05.
	$name=$_FILES["file"]["name"]; //Bildname (beispiel.jpg) in Variable $bildname zuweisen 
06.
	$name=str_ireplace(' ', "_", $name); //Leerzeichen werden durch _ ersetzt 
07.
 
08.
	// Existiert das Bild schon auf dem Server? 
09.
	if(file_exists("PFAD/$name")) 
10.
11.
		echo "<h2><b>Der Dateiname des gewünschten Bildes ist bereits vorhanden, 
12.
Sie müssen den Bildnamen umbenennen!</b></h2>"; //Ausgabe der Fehlermeldung 
13.
14.
	else //Andernfalls, wenn das Bild auf dem Server nicht existiert 
15.
16.
		// Wurde wirklich eine Datei hochgeladen? 
17.
		if(is_uploaded_file($_FILES["file"]["tmp_name"])) 
18.
19.
			// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen) 
20.
			if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) 
21.
22.
				ECHO "DATEI OK" 
23.
24.
			else //Datei ungültige Endung 
25.
26.
				echo "<h2><b>Die Datei besitzt eine ungültige Endung.</b></h2>"
27.
28.
29.
		else //Keine Datei angegeben 
30.
31.
			echo "<h2><b>Keine Datei zum Hochladen angegeben.</b></h2>"
32.
33.
 
34.
35.
	}
Gruß
Dani
Bitte warten ..
Mitglied: DeeDee0815
10.11.2006 um 20:07 Uhr
Hi Dani,

erstmal danke für deine Hilfe. Doch dies ist nicht ganz das was ich suche. Denn die überprüfung des Dateityps erfolgt hier nur durch überprüfen der Dateiendung. Geht das nicht auch sicherer? Außerdem könnte es ja sein, dass jemand seine Dateien ohne Endung speichert - der Jenige könnte dann keine Datei hochladen.

Gruß
DeeDee0815
Bitte warten ..
Mitglied: mf
14.11.2006 um 09:05 Uhr
Probiere es mal mit dem Shell-Command "file <dateiname>"
Hier bekommst du Deine gewünschten Information.

ws-linux-01:/usr# file /usr/share/gettext/archive.tar.gz
/usr/share/gettext/archive.tar.gz: gzip compressed data, from Unix
ws-linux-01:/usr#

Die Ausführung kannst du mit system() oder exec() machen. Die Auswertung dann wiederrum in PHP. mehr dazu unter php.net/system und php.net/exec
Bitte warten ..
Mitglied: DeeDee0815
14.11.2006 um 18:16 Uhr
Ok danke für deine Hilfe. Leider habe ich keinen Rootserver, sondern nutze kostenlosen Webspace. Folglich sind die Funktionen exec() bzw. system() deaktiviert. Aber so wie ich das verstehe, gibt es keine PHP-Funktion dafür.

Trotzdem danke - immerhin gut zu wissen, wie man das macht.

Gruß
DeeDee0815
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...