Der Vollständigkeit halber.
Du initialisiert dein Objekt mit der ID, schreibt die Bild ID in das Feld und speicherst - ungefähr so:
Code: Alles auswählen
$objId = XYZ;
$objectr = new we_objectFile($objId);
$objectr->setElement('Bild', $imgid);
$objectr->we_save();
$objectr->we_publish();
Ich hänge dir hier mal ein komplettes formular inklusive Upload etc an. Ich erstelle halt das komplette Objekt darüber.
Code: Alles auswählen
<div class="row">
<div class="col-12">
<we:ifRegisteredUser>
<form action="" method="POST" enctype="multipart/form-data" class="mb-5 p-3" style="border: 1px solid grey">
<h4>
Kundenrezension
</h4>
<we:url type="document" id="779" to="global" nameto="imagepath" />
<?php
if ( isset( $_POST['customerSubmit'] ) ) {
$nameaddition = date('Y-m-d_h-i-s');
$target_dir = "/kunden/395398_30655/webseiten" . $GLOBALS['imagepath'];
$target_file = $target_dir . $nameaddition. "-" . basename($_FILES["Kundenbild"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["Kundenbild"]["tmp_name"]);
if($check !== false) {
$uploadOk = 1;
} else {
echo '<div class="alert alert-danger">Datei ist kein Bild.</div>';
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
echo '<div class="alert alert-danger">Dateiname existiert schon.</div>';
$uploadOk = 0;
}
// Check file size
if ($_FILES["Kundenbild"]["size"] > 500000) {
echo '<div class="alert alert-danger">Bilddatei zu groß.</div>';
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
echo '<div class="alert alert-danger">Nur folgende Formate sind erlaubt: JPG, JPEG, PNG und GIF.</div>';
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo '<div class="alert alert-danger">Es gab einen Fehler. Die Datei wurde nicht hochgeladen.</div>';
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["Kundenbild"]["tmp_name"], $target_file)) {
echo '<div class="alert alert-success">Die Datei '. basename( $_FILES["Kundenbild"]["name"]). ' wurde erfolgreich hochgeladen.</div>';
$data = $_POST;
$objectr = new we_objectFile();
$objectr->we_new();
$objectr->TableID = 7;
$objectr->setRootDirID(true);
$objectr->resetParentID();
$objectr->restoreDefaults();
$objectr->setParentID(54);
$objectr->Language = 'de_DE';
$objectr->IsSearchable = 1;
$objectr->Text = we_import_functions::correctFilename( $nameaddition. "-" . basename($_FILES["Kundenbild"]["name"]) ); // If not work, remove we_import_...
$objectr->Path = $objectr->getParentPath() . (($objectr->getParentPath() != "/") ? "/" : "") . $objectr->Text;
$filename = $target_file;
$filedata = file_get_contents($filename);
$parentid = 779;
$img = new we_imageDocument();
$pathinfo = pathinfo($filename);
$img->Filename = $pathinfo['filename']; // Ohne Dateiendung
$img->Extension = '.'.strtolower($pathinfo['extension']);
$img->Text = $img->Filename.$img->Extension;
$img->Path = id_to_path($parentid) .'/'. $img->Text;
$fileserverpath = $_SERVER['DOCUMENT_ROOT'].$img->Path;
file_put_contents($fileserverpath, $filedata);
$img->setParentID($parentid); // Ziel-Verzeichnis
$img->setElement("filesize", filesize($fileserverpath), "attrib");
$img->setElement("type", getContentTypeFromFile($filename), "attrib");
$img->Table = FILE_TABLE;
$img->Published = time();
$img->DocChanged = true;
$img->we_save();
$bildid = $img->ID;
$objectr->setElement('Titel', $data['Name']);
$objectr->setElement('Beschreibung', $data['Beschreibung']);
$objectr->setElement('Bild', $bildid);
$objectr->setElement('Bewertung', $data['Bewertung']);
$objectr->we_save();
$objectr->we_publish();
$createdID = $objectr->ID;
} else {
echo '<div class="alert alert-danger">Es gab einen Fehler. Die Datei wurde nicht hochgeladen.</div>';
}
}
}
?>
<div class="form-group">
<label for="name">Name *</label>
<input type="text" name="Name" id="name" class="form-control" required="required">
</div>
<div class="form-group">
<label for="bewertung">Bewertung *</label>
<div class="range">
<input type="range" name="Bewertung" id="bewertung" min="1" max="5" value="4" required="required">
<output id="range">4</output>
</div>
</div>
<div class="form-group">
<label for="beschreibung">Kommentar</label>
<textarea name="Beschreibung" id="beschreibung" class="form-control" rows="3"></textarea>
</div>
<div class="form-group">
<label for="customerImage">Bilddatei *</label>
<input type="file" class="form-control" id="customerImage" name="Kundenbild" accept="image/*" aria-describedby="fileHelp" required="required">
<small id="fileHelp" class="form-text text-muted">Wählen Sie die Bilddatei zum Upload.</small>
</div>
<input type="hidden" name="customerSubmit" value="1">
<button type="reset" class="btn btn-default">
Zurücksetzen
</button>
<button type="submit" class="btn btn-primary float-right">
Aktualisieren
</button>
</form>
<we:else />
<div class="alert alert-info mb-3">
<strong>Bitte loggen Sie sich ein.</strong> Dieser Bereich ist nur für authorisierte Personen
</div>
</we:ifRegisteredUser>
</div>
</div>