--- a/fhiiqm/inc/file_upload.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/file_upload.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -60,11 +60,80 @@
else
{
echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"]."' nicht möglich!<br>$errupl1<br>$errupl2<br>$errupl3</p>\n";
- echo "<p><br><a href=\"sc_desc_update.php\">Upload bitte wiederholen</a><br></p>\n";
+ echo "<p>Upload bitte wiederholen</p>\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 <input>-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"] . "<br>\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] ."<br />";
+ 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 "<p class=\"green\">Upload von '$filename' erfolgreich.<br>
+ gespeicherter Dateiname: '". $fnam ."'</p>\n";
+ $ret = $ret && true;
+ }
+ else
+ {
+ echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"][$key]."' fehlgeschlagen.</p>\n";
+ $ret = $ret && false;
+ }
+ }
+ else
+ {
+ $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"][$key];
+ echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"][$key]."' nicht möglich!<br>$errupl1<br>$errupl2<br>$errupl3</p>\n";
+ echo "<p>Upload bitte wiederholen</p>\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
@@ -75,6 +144,8 @@
* $id - ID
*/
+ if ($nfile > '!')
+ {
$su = array("ä","ö","ü","ß","Ä","Ö","Ü");
$er = array("ae","oe","ue","ss","Ae","Oe","Ue");
@@ -105,7 +176,7 @@
else // File-Typ aus Uploadfile
{
if ($upload)
- $filep = explode(".",$_FILES[$ufile]["name"]);
+ $filep = explode(".",$_FILES[$ufile]['name']);
else
$filep = explode(".",$ufile);
$anz = count($filep);
@@ -121,11 +192,12 @@
else
$fname = substr($fname,0,50-(4+$len)) . "." .$typ;
if (substr($fname,0,$len) == "$id" . "_") $fname = substr($fname,$len,50);
-
- return $fname;
+ }
+ else $fname = "";
+ return $fname;
}
-function mod_file($path,$id,$fname_new,$mod)
+function mod_file($path,$id,$fname_new,$mod,$fname_old="")
{
/** Loeschen, Aendern des Namens von Vetragsdokumenten
* Parameter
@@ -134,9 +206,11 @@
* $fname_new - neuer Filename
* $mod - del = Loeschen
* upd = Umbenennen
+ * $fname_old - alter Filename
*/
- if ($fname_old = exec("ls ".$path." | grep '". $id . "_'"))
+ if ($fname_old == "") $fname_old = exec("ls ".$path." | grep '". $id . "_'");
+ if ($fname_old)
{
if (file_exists($path."/".$fname_old))
{
@@ -150,7 +224,9 @@
return rename($path."/".$fname_old, $path."/".$fname_new);
}
}
- }
+ else return true;
+ }
+ else return false;
}
// Test Aufruf
/*