Ho un input HTML con file di tipo (multipla):Come salvare più oggetti file per analizzare il back-end con php sdk?
<input id="image" type="file" name="dog[]" multiple>
Come posso caricare loro di analizzare con un tavolo per "Immagini" e "Dog" che utilizzano relazione parse?
O c'è un modo migliore per memorizzare la relazione? Per favore consiglio grazie
Codice tentato:
<?php
require 'vendor/autoload.php';
session_start();
use Parse\ParseClient;
use Parse\ParseUser;
use Parse\ParseSessionStorage;
use Parse\ParseObject;
use Parse\ParseFile;
use Parse\ParseGeoPoint;
ParseClient::initialize('xxx', 'yyy', 'zzz');
ParseClient::setStorage(new ParseSessionStorage());
$currentUser = ParseUser::getCurrentUser();
$filearray = [];
$count = 0;
if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
foreach ($_FILES['dog']['name'] as $f => $name) {
if ($_FILES['dog']['error'][$f] == 4) {
continue; // Skip file if any error found
}
if ($_FILES['dog']['error'][$f] == 0) {
$tmp = $_FILES['dog']['tmp_name'][$count];
$count = $count + 1;
$file = ParseFile::createFromData(file_get_contents($tmp), $_FILES['dog']['name']);
$file->save();
array_push($filearray, $file);
}
}
}
$dogobj = new ParseObject("Dog");
$dogobj->setArray("dogimage", $filearray);
try {
$dogobj->save();
} catch (ParseException $ex) {
echo 'Failed to create new object, with error message: ' . $ex->getMessage();
}
EDIT :: Grazie per la risposta, questo è l'errore che ho trovato
Notice: Undefined index: restaurant_images in ../index.php on line 31
Attenzione: discussione non valida fornita per foreach() in ../index.php sulla linea 31 nuovo oggetto creato con objectId: fz1hnCembE
Con la linea 31, a cui fa riferimento foreach ($_FILES['restaurant']['name'] as $f => $name) {
Scopo ho salvato successo come u vedere nel messaggio precedente, l'immagine non viene trovato
Ehi @Francis, stai ricevendo qualche eccezione quando provi a salvare l'oggetto? In tal caso, aggiorna la domanda per includerla. –
Ciao @GustavoStraube, ho incluso più dettagli. semplicemente trattate il ristorante come "cane" dato che ho cambiato il nome. Ma il codice rimane lo stesso –
hai visto la risposta di @ cetver? Mi sembra anche che manchi l'attributo 'enctype', che è un errore comune. O forse l'input del file non ha lo stesso nome nel modulo HTML e nel backend (PHP). Controlla anche quello. –