Hallo Leute,
ich bin gerade leicht verzweifelt. bin seit mehreren Wochen am Programmieren einer Website zum Dateiupload. Die ist sehr einfach gehalten, bis auf den Dateiupload funktioniert auch alles ganz gut.
Es gibt keine Fehler aus. muss ich vllt in Linux noch etwas einstellen was ich nicht bedacht habe?
Hier der Code
Hier nochdie einzelnen Funktionen
Ich danke euch schon mal für die Hilfe
ich bin gerade leicht verzweifelt. bin seit mehreren Wochen am Programmieren einer Website zum Dateiupload. Die ist sehr einfach gehalten, bis auf den Dateiupload funktioniert auch alles ganz gut.
Es gibt keine Fehler aus. muss ich vllt in Linux noch etwas einstellen was ich nicht bedacht habe?
Hier der Code
PHP:
ebeneA_select=$_POST["EbeneA"];
$ebeneB_select=$_POST["EbeneB"];
$ebeneC_select=$_POST["EbeneC"];
$ebeneA_input=replace(utf8_encode(mysqli_escape_string($verbindung, $_POST["ebeneA_input"])));
$ebeneB_input=replace(utf8_encode(mysqli_escape_string($verbindung, $_POST["ebeneB_input"])));
$ebeneC_input=replace(utf8_encode(mysqli_escape_string($verbindung, $_POST["ebeneC_input"])));
$keywords = utf8_encode(mysqli_escape_string($verbindung, $_POST["keyword"]));
$beschreibung = utf8_encode(mysqli_escape_string($verbindung, $_POST["beschreibung"]));
$prio=$priority; // für spätere Prioeinstellungen
$ansprechpartner_ID= mysqli_escape_string($verbindung, $_POST["ansprechpartner"]); // ID
$projekt_ID = mysqli_escape_string($verbindung, $_POST["projekt"]); // besteht aus "ID
// wörter in ein Array bringen
// und sonderzeichen ersetzten
$woerter=explode(" ",$keywords);
$anzahl=count($woerter);
for($i=0;$i<$anz;$i++){
$woerter[$i]=replacer($woerter[$i]);
}
// Festlegung der Ordnernamen
$ebeneA=ebenenAusgabe($ebeneA_select,$ebeneA_input);
$ebeneB=ebenenAusgabe($ebeneB_select,$ebeneB_input);
$ebeneC=ebenenAusgabe($ebeneC_select, $ebeneC_input);
// Ordnerstruktur überprüfen und erzeugen
$currentPath= addDirectory($path);
$currentPath= addDirectory($currentPath .$ebeneA ."/");
$currentPath= addDirectory($currentPath .$ebeneB ."/");
$currentPath= addDirectory($currentPath .$ebeneB ."/");
// datei in Ordner ablegen
$filesize=(($_FILES["datei"]["size"])/1000);
$filename=$_FILES["datei"]["name"];
move_uploaded_file($_FILES["datei"]["temp_name"], $currentPath . $filename);
// keywords einfügen und deren IDS beschaffen
$idKeywordArray=keywordInserter($keywords,$anzahl,$verbindung);
// Datei einfügen und Datei ID bekommen
$dateiID=mysqlDataIntegration($verbindung,$currentPath,$ebeneA,$ebeneB,$ebeneC,$beschreibung,$prio,$ansprechpartner_ID,$projekt_ID,$filename);
// Keywords mit datei verknüpfen
key_datIntegration($idKeywordArray,$dateiID,$verbindung)
Hier nochdie einzelnen Funktionen
PHP:
function key_datIntegration($idkeywordArray,$dateiID,$verbindung){
for($i=0;$i < count($idkeywordArray);$i++){
$sql="
INSERT INTO key_dat (
DATEI_ID_FK,
Keyword_ID_FK
)(
'".$dateiID."',
'".$idkeywordArray[$i]."'
)
";
mysqli_query($verbindung,$sql);
}
}
function mysqlDataIntegration($verbindung,$currentPath,$ebeneA,$ebeneB,$ebeneC,$beschreibung,$prio,$ansprechpartner_ID,$projekt_ID,$dateiname){
$sql="
INSERT INTO datei (
Dateipfad,
EbeneA,
EbeneB,
EbeneC,
Uploader_ID_FK,
Priority,
Dateiname, ";
if($beschreibung != ""){
$sql.="beschreibung, ";
}
$sql.="
Anspr_ID_FK,
Projekt_ID_FK
)(
'".$currentPath."',
'".$ebeneA."',
'".$ebeneB."',
'".$ebeneC."',
'".$_SESSION['ID']."',
'".$prio."', ";
if($beschreibung != ""){
$sql.=" '".$beschreibung."' ";
}
$sql.="
'".$ansprechpartner_ID."',
'".$projekt_ID."',
'".$dateiname."'
)
" ;
mysqli_query($verbindung,$sql); // eintragung
$sql="SELECT MAX(DATEI_ID) FROM datei"; // die gerade iengtragene Datei sit die letzte, daher aufruuf mit max um an die ID zu kommen
$res=mysqli_query($verbindung,$sql);
$row=mysqli_fetch_assoc($res);
return $row['DATEI_ID'];
}
function addDirectory($currentPath){
if(!directoryExits($currentPath)){
mkdir($currentPath,0777);
}
return $currentPath;
}
function directoryExits($currentPath){
return is_dir($currentPath);
}
function ebenenAusgabe($ebene,$inputField)
{
if ($ebene != "new") {
$ebenen=explode("_",$ebene);
$anz=count($ebenen);
switch($anz){
case '1':
return $ebenen[0];
break;
case '2':
return $ebenen[1];
break;
case '3':
return $ebenen[2];
break;
}
} else {
return $inputField;
}
}
function keywordInserter($keywords,$anzahl,$verbindung){
$keywordIdents="";
for($i=0;$i<$anzahl;$i++){
$sql="INSERT INTO Keywords (keyword)('".$keywords[$i]."')";
mysqli_query($verbindung,$sql);
$sql="SELECT Keyword_ID FROM keywords WHERE keyword = '". $keywords[$i]."'";
$res=mysqli_query($verbindung,$sql);
$row=mysqli_fetch_assoc($res);
$kewordidents[$i]=$row['Keyword_ID'];
}
return $keywordIdents;
}
function replace($string){
$stringArray = explode(" ", $string);
$size = count($stringArray);
if($size>0) {
$komplettesWort="";
for($i=0;$i<$size;$i++){
$komplettesWort .= replacer($stringArray[$i]);
}
}
return $komplettesWort;
// Fehler ausgabe
}
function replacer($string) {
$ersetzen = array( 'ä' => 'ae', 'Ä' => 'Ae',
'ö' => 'oe', 'Ö' => 'Oe',
'ü' => 'ue', 'Ü' => 'Ue',
'ß' => 'ss', ' ' => '', '´' => '', '`' => '',
'*' => '', '+' => '', '\'' => '', '#' => '',
',', ';' => '', '.' => '', ':' => '', '-' => '',
'_' => '', '@' => '');
return ucfirst(strtolower(strtr($string, $ersetzen)));
#$eingegebenerString = array("ä", "ö", "ü", "Ä", "Ö", "Ü", "ß", ".", ":", ",", ";", " ", "_");
#$ersetzenderString = array("ae", "oe", "ue", "Ae", "Oe", "Ue", "ss", "", "", "", "", "", "");
#$string = str_replace($eingegebenerString, $ersetzenderString, $string);
Ich danke euch schon mal für die Hilfe