Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Dateityp prüfen bei PDF und DOC [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dateityp prüfen bei PDF und DOC


 
devas
16-01-2011, 15:42 
 
Hallo,



$dateityp=GetImageSize(geladene Datei);

$array=$dateityp;

if($dateityp[2]==2) entspricht .jpg



so stelle ich fest ob es sich bei der geladen Datei um eine .jpg handelt.

Ich möchte nun aber Dateien mit der Endung .jpg und .doc laden und prüfen. Danke für Hinweise.

 
onemorenerd
16-01-2011, 16:24 
 
Zu wenig Information. So kann man dir nicht helfen.
Was macht GetImageSize? Vom Namen her vermute ich, kann die Funktion nur mit Bilddateien etwas anfangen. Für .doc und .pdf ist sie wahrscheinlich nutzlos.

Ich empfehle finfo_file.

 
devas
16-01-2011, 16:43 
 
GetImageSize ist eine Funktion für Bildinformationen die die Bildeigenschaften in einem Array zurückliefert.

Im Array[2] steht die Information für den Dateityp, in dem Fall prüfe ich auf ob es sich um eine jpg handelt.

So in der Art dachte ich Dateitypen auf doc oder pdf zu prüfen.


Aktuell prüfe ich die Endung der hochgeladenen Datei so:


$dateiname=$_FILES['datei']['name'];
$endung= substr($dateiname1, -4, 4);
if($endung==".pdf")


Gibts was besseres?

 
AmicaNoctis
16-01-2011, 16:46 
 
Wie onemorenerd bereits sagte: finfo_file

 
phop
12-04-2011, 14:23 
 
//$filename = "test.doc";

function detect_mime($filename) {
$type_upload=strrchr($filename, ".");

switch ($type_upload) {
case ".doc": $filetype="application/msword"; break;
case ".pdf": $filetype="application/pdf"; break;
}

return $filetype;
}
// Aufruf
$mimetype = detect_mime($filename);

 
h3ll
12-04-2011, 14:25 
 
@phop

Anhand der Dateiendung lässt sich nicht zuverlässig der Dateityp ermitteln.

Verwende finfo_file() (http://de.php.net/manual/de/function.finfo-file.php) dafür.

 
phop
12-04-2011, 14:34 
 
Ich vergaß, du hast Recht!

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:35 Uhr.