Ich versuche!!!!! seit längerem einen Dateiupload zu realisieren mit einem Modal.
Zu meiner Seitenkonstruktion:
Ich lade mit ajax eine datei in meinen container content.
So mache ich das auch mit dem anzeigen von Images Dateien
Zum Uploaden von Bilddateien öffne ich ein Modal und lasse eine Datei kennzeichenen mit den üblichen Bordmitteln.
Nun beginnt mein Problem.
mit einer JQuery-funktion:
möchte ich die infos der zu speichernden Datei an meine upload.php weitergeben.
Leider ist die $_FILES variable aber leer.
Habe viel gelesen und einiges versucht. Leider finde ich meinen Fehler nicht.
Wäre froh um hinweise und vorschläge. Besten Dank im voraus.
Zu meiner Seitenkonstruktion:
Ich lade mit ajax eine datei in meinen container content.
So mache ich das auch mit dem anzeigen von Images Dateien
PHP-Code:
<?php
session_start();
require_once($_SESSION['startverz'].'/av_config.php');
require_once $_SESSION['startverz'].'/inc/funktionenCode.php';
if (errSHO)
{
error_reporting(E_ALL);
ini_set('display_errors', 1);
}
//enthällt alle benötigten Functionen
require_once (ABSPATH.'/inc/funktionenCode.php');
//Kunden Upload zielverzeichnis
$saveVerz = $_SESSION['ts_fi'][0]['savedoc'];
//verzUplDoc Unterverzeichnisteil in welchem dann das Kundenverzeichnis noch angehängt wird
$folderx = verzUplDoc.$saveVerz;
//verzUpl Verzeichnis in welchem die Arbeitsdateien für den Upload liegen
$myacverz = verzUpl;
//Kompleter Verzeichnis Path mit Kundenordner der zum anzeigen der Dateien und zum
//speichern gebraucht wird
$folder = ABSPATH."/".verzUplDoc.$saveVerz;
$count = 0;
$results = scandir($folder, 1);
//--------------------------------------------------
$filename = $_SESSION['startverz']."/".$folderx;
//Modalaufruf-Mutation-------------------------------
$hint = "<div class="container">";
$hint .= "<div class="row">";
$hint .= setButtonModal(2,
1,
"./content/upload/form.php",
"id",
"Neue Datei hochladen:",
"Datei Hochladen");
$hint .="</div>";
$hint .="</div>";
$hint .="<hr>";
if (file_exists($filename))
{
$hint .= "<div class="container">";
$hint .= "<div class="row">";
foreach ($results as $result) {
if ($result === '.' or $result === '..') continue;
if (is_file($folder . '/' . $result))
{
$hint .= "<div class="col-md-3" height:"100px">";
$hint .= "<form id="dateimut".$count."">";
$hint .= "<div class="thumbnail">";
$hint .= "<img src="".$folderx . "/" . $result."" alt="...">";
$hint .= "<div class="caption">";
$strTitel = "Löschen";
$del_datei = trim($result, " \t\n\r\0\x0B");
$my_del_Skript = "'".$myacverz."remove.php'";
$myNewDataset = "'content/upload/index.php'";
$_SESSION['but_Del_Datei'] = $myNewDataset;
$_SESSION['but_Del_Uebergabe'] = $my_del_Skript;
$hint .= " <hr>";
$hint .= getInputField($del_datei, "name", "Dateiname", 12, "txt"). " <br>";
$hint .= " <hr>";
$Formdaten = "'dateimut".$count."'";
$hint .= "<button type="button" class="btn btn-primary btn-sm" onclick="mutDaten(".$my_del_Skript.",".$myNewDataset.",".$Formdaten.")">".$strTitel."</button>";
$hint .="</div>";
$hint .="</div>";
$hint .="</form>";
$hint .="</div>";
$count++;
}
}
}
else
{
$hint = "Das Verzeichnis $filename existiert nicht";
}
//--------------------------------------------------
echo $hint;
?>
PHP-Code:
<?php
session_start();
require_once($_SESSION['startverz'].'/av_config.php');
if (errSHO)
{
error_reporting(E_ALL);
ini_set('display_errors', 1);
}
//verzUpl Verzeichnis in welchem die Arbeitsdateien für den Upload liegen
$myacverz = verzUpl;
$hint ="</div>";
$hint .="<div class="row">";
$hint .="<div class="col-lg-12">";
$strTitel = "Hochladen Datei";
$width = 4;
$my_upl_Skript = "'".$myacverz."upload.php'";
$myNewDataset = "'".$myacverz."index.php'";
$Formdaten = "updoc";
$hint .= "<form id="".$Formdaten."" onsubmit="myupload(".$my_upl_Skript.",".$myNewDataset.", '".$Formdaten."', true )" method="post" enctype="multipart/form-data">";
$hint .= "Bilddatei wählen: <input type="file" name="fileUpload">";
$hint .= "Name eingeben: <input type="text" name="usename" id="usename">";
$hint .= "<input type="submit">";
$hint .= "</form>";
$hint .="</div>";
$hint .="</div>";
$hint .="</div>";
echo $hint;
?>
mit einer JQuery-funktion:
Code:
<script> function myupload(str_datwork, str_acShowDat, strForm, boSeite){ var formData = new FormData(); formData.append('file', $('input[type=file]')[0].files[0]); formData.append('name', $('input[type=text]')); $.ajax({ type: 'POST', url: escape(str_datwork), data: formData, cache: false, processData: false, contentType: false, dataType: "json", success: function(data){ if (boSeite) { $('#content').load(escape(str_acShowDat)); $("#modal").modal('hide'); } } }); } </script>
Leider ist die $_FILES variable aber leer.
Habe viel gelesen und einiges versucht. Leider finde ich meinen Fehler nicht.
Wäre froh um hinweise und vorschläge. Besten Dank im voraus.
Kommentar