diff -r cfc409017ba8 -r 70cea8f0e807 fhiiqm/inc/file_upload.inc.php --- a/fhiiqm/inc/file_upload.inc.php Fri Jan 17 08:50:55 2014 +0100 +++ b/fhiiqm/inc/file_upload.inc.php Wed Aug 06 09:42:40 2014 +0200 @@ -1,239 +1,239 @@ --Feld - * $fname = gewaehlter filename - * $id = ID - * $dir = Verzeichnisname der Upload-Files - */ - - $errupl1 = null; - $errupl2 = null; - $errupl3 = null; - // Test filesize, filetyp - if ($_FILES[$ufile]["size"] < 1) $errupl1 .= "$ufile: File ist leer! "; - if ($_FILES[$ufile]["size"] > 32000000) $errupl1 .= "$ufile: File > 32MByte! "; -// list($first,$rest) = explode(".",$_FILES[$ufile]["name"]); - $filep = explode(".",$_FILES[$ufile]["name"]); - $anz = count($filep); - $typ = $filep[$anz-1]; - if (substr($typ,0,2)=="ph" || substr($typ,0,2)=="pl" || substr($typ,0,2)=="cg" || substr($typ,0,2)=="ex") $errupl2 .="$ufile: falscher Filetyp! "; -//echo "filesize=" . $_FILES[$ufile]["size"] . "
\n"; - if ($_FILES[$ufile]["error"] > 0) $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"]; - if (!$errupl1 && !$errupl2 && !$errupl3) - { - // File laden - $filetyp = $_FILES[$ufile]['type']; - $filesize = $_FILES[$ufile]['size']; - $filename = basename(addslashes($_FILES[$ufile]["name"])); - $tempname = $_FILES[$ufile]['tmp_name']; - if ($fname) - { - $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$fname); - } - else - $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$filename); - - if ($ret) - { - // echo "Error upload: ". $_FILES['pfile']['error'] .", $tempname
\n"; - if ($fname) $fname=$id."_".$fname; else $fname = $id."_".$filename; - echo "

Upload von '" . $_FILES[$ufile]["name"]."' erfolgreich.
- gespeicherter Dateiname: '". $fname ."'

\n"; - return true; - } - else - { - echo "

Upload von '" . $_FILES[$ufile]["name"]."' fehlgeschlagen.

\n"; - return false; - } - } - else - { - echo "

Upload von '" . $_FILES[$ufile]["name"]."' nicht möglich!
$errupl1
$errupl2
$errupl3

\n"; - echo "

Upload bitte wiederholen

\n"; - return false; - } -} - -function upload_multif($ufile, $fname, $id, $dir="documents") -{ - /** - * prueft Uploadfile und verschiebt es in gewaehltes Verzeichnis - * Parameter - * $ufile = upload-File-Array: name -Felder - * $fname = gewaehltes filenamen-Array - * $id = ID - * $dir = Verzeichnisname der Upload-Files - */ - - $errupl1 = null; - $errupl2 = null; - $errupl3 = null; - $ret = true; - // Test filesize, filetyp - foreach ($_FILES[$ufile]['error'] as $key => $error) - { - if ($error == UPLOAD_ERR_OK) - { - if ($_FILES[$ufile]['size'][$key] < 1) $errupl1 .= $_FILES[$ufile]['name'][$key].": File ist leer! "; - if ($_FILES[$ufile]['size'][$key] > 32000000) $errupl1 .= $_FILES[$ufile]['name'][$key].": File > 32MByte! "; - // list($first,$rest) = explode(".",$_FILES[$ufile]["name"]); - $filep = explode(".",$_FILES[$ufile]['name'][$key]); - $anz = count($filep); - $typ = $filep[$anz-1]; - if (substr($typ,0,2)=="ph" || substr($typ,0,2)=="pl" || substr($typ,0,2)=="cg" || substr($typ,0,2)=="ex") $errupl2 .="$ufile: falscher Filetyp! "; - //echo "filesize=" . $_FILES[$ufile]["size"] . "
\n"; - if (!$errupl1 && !$errupl2) - { - // File laden - $filename = basename(addslashes($_FILES[$ufile]['name'][$key])); - $tempname = $_FILES[$ufile]['tmp_name'][$key]; -//echo "key = $key, fname = ".$fname[$key].", filename = $filename, uploadname = " . $_FILES[$ufile]['name'][$key] ."
"; - if ($fname[$key]) - { - $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$fname[$key]); - } - else - $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$filename); - - if ($ret) - { - if ($fname[$key]) $fnam=$id."_".$fname[$key]; else $fnam = $id."_".$filename; - echo "

Upload von '$filename' erfolgreich.
- gespeicherter Dateiname: '". $fnam ."'

\n"; - $ret = $ret && true; - } - else - { - echo "

Upload von '" . $_FILES[$ufile]["name"][$key]."' fehlgeschlagen.

\n"; - $ret = $ret && false; - } - } - else - { - $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"][$key]; - echo "

Upload von '" . $_FILES[$ufile]["name"][$key]."' nicht möglich!
$errupl1
$errupl2
$errupl3

\n"; - echo "

Upload bitte wiederholen

\n"; - $ret = $ret && false; - } - } - $errupl1 = null; - $errupl2 = null; - $errupl3 = null; - } - return $ret; -} - -function gen_filename($nfile, $ufile, $id, $upload=1) -{ - /** generiert Filenamen aus Eingabefilenamen und Uploadfilenamen - * wenn upload<>1, dann aus neuem Dateinamen+alten (wenn nicht angegeben:Typ) - * Parameter - * $nfile - vorgegebener Name durch Nutzer - * $ufile - Name aus Upload-Feld Formular, bzw. alter Filename - * $id - ID - */ - - if ($nfile > '!') - { - $su = array("ä","ö","ü","ß","Ä","Ö","Ü"); - $er = array("ae","oe","ue","ss","Ae","Oe","Ue"); - - switch ($id) - { - case ($id < 10): - $len = 2; - break; - case ($id < 100): - $len = 3; - break; - case ($id < 1000): - $len = 4; - break; - } -// echo "cid, len : $cid, $len

\n"; - // Dokument-Typ aus Dateibezeichnung bzw. Uploadfile, wenn nicht angegeben - $filea = explode(".",$nfile); - $anz = count($filea); - if ($anz>1) // File-Typ im Eingabenamen angegeben - { - $typ = $filea[$anz-1]; - for ($i=0; $i<$anz-1; $i++) - { - $fname .= "." . $filea[$i]; - } - } - else // File-Typ aus Uploadfile - { - if ($upload) - $filep = explode(".",$_FILES[$ufile]['name']); - else - $filep = explode(".",$ufile); - $anz = count($filep); - if ($anz>1) $typ = $filep[$anz-1]; else $typ = "pdf"; - $fname = $nfile; - } - // ev. vorhandene gaengige Umlaute ersetzen - $fname = str_replace($su,$er,$fname); - - if (strlen($typ) < 3) $typ="pdf"; - if (substr($fname,0,1) == ".") - $fname = substr($fname,1,50-(4+$len)) . "." .$typ; - else - $fname = substr($fname,0,50-(4+$len)) . "." .$typ; - if (substr($fname,0,$len) == "$id" . "_") $fname = substr($fname,$len,50); - } - else $fname = ""; - return $fname; -} - -function mod_file($path,$id,$fname_new,$mod,$fname_old="") -{ - /** Loeschen, Aendern des Namens von Vetragsdokumenten - * Parameter - * $path - Pfad zur Datei - * $id - ID des zu bearbeiteten Files, beginnt mit 'ID_' - * $fname_new - neuer Filename - * $mod - del = Loeschen - * upd = Umbenennen - * $fname_old - alter Filename - */ - - if ($fname_old == "") $fname_old = exec("ls ".$path." | grep '". $id . "_'"); - if ($fname_old) - { - if (file_exists($path."/".$fname_old)) - { - chmod($path."/".$fname_old,0644); - if ($mod == "del") - { - return unlink($path."/".$fname_old); - } - elseif ($mod == "upd" && $fname_new>"!") - { - return rename($path."/".$fname_old, $path."/".$fname_new); - } - } - else return true; - } - else return false; -} -// Test Aufruf -/* - if (mod_file("/var/www/fhiiqm/documents","20","","del")) - echo "Erfolg!\n"; - else - echo "Misserfolg\n"; -*/ - +-Feld + * $fname = gewaehlter filename + * $id = ID + * $dir = Verzeichnisname der Upload-Files + */ + + $errupl1 = null; + $errupl2 = null; + $errupl3 = null; + // Test filesize, filetyp + if ($_FILES[$ufile]["size"] < 1) $errupl1 .= "$ufile: File ist leer! "; + if ($_FILES[$ufile]["size"] > 32000000) $errupl1 .= "$ufile: File > 32MByte! "; +// list($first,$rest) = explode(".",$_FILES[$ufile]["name"]); + $filep = explode(".",$_FILES[$ufile]["name"]); + $anz = count($filep); + $typ = $filep[$anz-1]; + if (substr($typ,0,2)=="ph" || substr($typ,0,2)=="pl" || substr($typ,0,2)=="cg" || substr($typ,0,2)=="ex") $errupl2 .="$ufile: falscher Filetyp! "; +//echo "filesize=" . $_FILES[$ufile]["size"] . "
\n"; + if ($_FILES[$ufile]["error"] > 0) $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"]; + if (!$errupl1 && !$errupl2 && !$errupl3) + { + // File laden + $filetyp = $_FILES[$ufile]['type']; + $filesize = $_FILES[$ufile]['size']; + $filename = basename(addslashes($_FILES[$ufile]["name"])); + $tempname = $_FILES[$ufile]['tmp_name']; + if ($fname) + { + $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$fname); + } + else + $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$filename); + + if ($ret) + { + // echo "Error upload: ". $_FILES['pfile']['error'] .", $tempname
\n"; + if ($fname) $fname=$id."_".$fname; else $fname = $id."_".$filename; + echo "

Upload von '" . $_FILES[$ufile]["name"]."' erfolgreich.
+ gespeicherter Dateiname: '". $fname ."'

\n"; + return true; + } + else + { + echo "

Upload von '" . $_FILES[$ufile]["name"]."' fehlgeschlagen.

\n"; + return false; + } + } + else + { + echo "

Upload von '" . $_FILES[$ufile]["name"]."' nicht möglich!
$errupl1
$errupl2
$errupl3

\n"; + echo "

Upload bitte wiederholen

\n"; + return false; + } +} + +function upload_multif($ufile, $fname, $id, $dir="documents") +{ + /** + * prueft Uploadfile und verschiebt es in gewaehltes Verzeichnis + * Parameter + * $ufile = upload-File-Array: name -Felder + * $fname = gewaehltes filenamen-Array + * $id = ID + * $dir = Verzeichnisname der Upload-Files + */ + + $errupl1 = null; + $errupl2 = null; + $errupl3 = null; + $ret = true; + // Test filesize, filetyp + foreach ($_FILES[$ufile]['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + if ($_FILES[$ufile]['size'][$key] < 1) $errupl1 .= $_FILES[$ufile]['name'][$key].": File ist leer! "; + if ($_FILES[$ufile]['size'][$key] > 32000000) $errupl1 .= $_FILES[$ufile]['name'][$key].": File > 32MByte! "; + // list($first,$rest) = explode(".",$_FILES[$ufile]["name"]); + $filep = explode(".",$_FILES[$ufile]['name'][$key]); + $anz = count($filep); + $typ = $filep[$anz-1]; + if (substr($typ,0,2)=="ph" || substr($typ,0,2)=="pl" || substr($typ,0,2)=="cg" || substr($typ,0,2)=="ex") $errupl2 .="$ufile: falscher Filetyp! "; + //echo "filesize=" . $_FILES[$ufile]["size"] . "
\n"; + if (!$errupl1 && !$errupl2) + { + // File laden + $filename = basename(addslashes($_FILES[$ufile]['name'][$key])); + $tempname = $_FILES[$ufile]['tmp_name'][$key]; +//echo "key = $key, fname = ".$fname[$key].", filename = $filename, uploadname = " . $_FILES[$ufile]['name'][$key] ."
"; + if ($fname[$key]) + { + $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$fname[$key]); + } + else + $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$filename); + + if ($ret) + { + if ($fname[$key]) $fnam=$id."_".$fname[$key]; else $fnam = $id."_".$filename; + echo "

Upload von '$filename' erfolgreich.
+ gespeicherter Dateiname: '". $fnam ."'

\n"; + $ret = $ret && true; + } + else + { + echo "

Upload von '" . $_FILES[$ufile]["name"][$key]."' fehlgeschlagen.

\n"; + $ret = $ret && false; + } + } + else + { + $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"][$key]; + echo "

Upload von '" . $_FILES[$ufile]["name"][$key]."' nicht möglich!
$errupl1
$errupl2
$errupl3

\n"; + echo "

Upload bitte wiederholen

\n"; + $ret = $ret && false; + } + } + $errupl1 = null; + $errupl2 = null; + $errupl3 = null; + } + return $ret; +} + +function gen_filename($nfile, $ufile, $id, $upload=1) +{ + /** generiert Filenamen aus Eingabefilenamen und Uploadfilenamen + * wenn upload<>1, dann aus neuem Dateinamen+alten (wenn nicht angegeben:Typ) + * Parameter + * $nfile - vorgegebener Name durch Nutzer + * $ufile - Name aus Upload-Feld Formular, bzw. alter Filename + * $id - ID + */ + + if ($nfile > '!') + { + $su = array("ä","ö","ü","ß","Ä","Ö","Ü"); + $er = array("ae","oe","ue","ss","Ae","Oe","Ue"); + + switch ($id) + { + case ($id < 10): + $len = 2; + break; + case ($id < 100): + $len = 3; + break; + case ($id < 1000): + $len = 4; + break; + } +// echo "cid, len : $cid, $len

\n"; + // Dokument-Typ aus Dateibezeichnung bzw. Uploadfile, wenn nicht angegeben + $filea = explode(".",$nfile); + $anz = count($filea); + if ($anz>1) // File-Typ im Eingabenamen angegeben + { + $typ = $filea[$anz-1]; + for ($i=0; $i<$anz-1; $i++) + { + $fname .= "." . $filea[$i]; + } + } + else // File-Typ aus Uploadfile + { + if ($upload) + $filep = explode(".",$_FILES[$ufile]['name']); + else + $filep = explode(".",$ufile); + $anz = count($filep); + if ($anz>1) $typ = $filep[$anz-1]; else $typ = "pdf"; + $fname = $nfile; + } + // ev. vorhandene gaengige Umlaute ersetzen + $fname = str_replace($su,$er,$fname); + + if (strlen($typ) < 3) $typ="pdf"; + if (substr($fname,0,1) == ".") + $fname = substr($fname,1,50-(4+$len)) . "." .$typ; + else + $fname = substr($fname,0,50-(4+$len)) . "." .$typ; + if (substr($fname,0,$len) == "$id" . "_") $fname = substr($fname,$len,50); + } + else $fname = ""; + return $fname; +} + +function mod_file($path,$id,$fname_new,$mod,$fname_old="") +{ + /** Loeschen, Aendern des Namens von Vetragsdokumenten + * Parameter + * $path - Pfad zur Datei + * $id - ID des zu bearbeiteten Files, beginnt mit 'ID_' + * $fname_new - neuer Filename + * $mod - del = Loeschen + * upd = Umbenennen + * $fname_old - alter Filename + */ + + if ($fname_old == "") $fname_old = exec("ls ".$path." | grep '". $id . "_'"); + if ($fname_old) + { + if (file_exists($path."/".$fname_old)) + { + chmod($path."/".$fname_old,0644); + if ($mod == "del") + { + return unlink($path."/".$fname_old); + } + elseif ($mod == "upd" && $fname_new>"!") + { + return rename($path."/".$fname_old, $path."/".$fname_new); + } + } + else return true; + } + else return true; +} +// Test Aufruf +/* + if (mod_file("/var/www/fhiiqm/documents","20","","del")) + echo "Erfolg!\n"; + else + echo "Misserfolg\n"; +*/ + ?> \ No newline at end of file