Zugriff $_FILE['tmp_name'] aus dem UploadedFile Klasse?
wenn ich drucken der Inhalt einer Instanz von UploadedFile, das ist es, was ich
array (
'opt_image_header' =>
Symfony\Component\HttpFoundation\File\UploadedFile::__set_state(array(
'test' => false,
'originalName' => 'triangle-in-the-mountains.jpg',
'mimeType' => 'image/jpeg',
'size' => 463833,
'error' => 0,
)
Und dies ist, wie bekomme ich die hochgeladene Datei in den Controller. Bevor Sie zu verschieben, ich soll die Größe ändern.
foreach($request->files as $uploadedFile){
$ext = '.' . $uploadedFile['opt_image_header']->guessExtension();
$filename = sha1(uniqid(mt_rand(), true)) . $ext;
$uploadedFile['opt_image_header']->move($path . '/images/', $filename);
}
gibt es also keine der "tmp_name", die bräuchte ich für die Bildgröße zu ändern, bevor es zu speichern.
Muss ich Lesen es direkt von den $_FILE array?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
$uploadedFile->getRealPath()
Symfony\Component\HttpFoundation\File\UploadedFile
erstrecktSymfony\Component\HttpFoundation\Datei\File
, die sich der PHP -SplFileInfo
, soUploadedFile
erbt alle Methoden vonSplFileInfo
.Verwenden
$uploadedFile->getRealPath()
für den absoluten Pfad für die Datei. Sie können auch andere Methoden, wie z.B.getFilename()
odergetPathname()
. Für eine vollständige Liste der verfügbaren Methoden (vonSplFileInfo
), siehe die docs.Symfony die File-Klasse fügt einige zusätzliche Methoden, wie
move()
undgetMimeType()
, und fügt Abwärtskompatibilität fürgetExtension()
(das war vorher nicht verfügbar PHP 5.3.6).UploadedFile
fügt einige zusätzliche Methoden, die oben auf, dass, wiegetClientOriginalName()
undgetClientSize()
, die die gleichen Informationen würden Sie normalerweise bekommen aus$_FILES['name']
und$_FILES['size']
.Wenn Sie eine Datei hochladen mit der Lehre, werfen Sie einen Blick auf Symfony Dokumentation eine Datei Hochladen
Wenn Sie möchten, um eine Datei hochzuladen, ohne Lehre sind, können Sie versuchen so etwas wie:
Wenn es irgendeine Frage zum hochladen der Datei
move()
wird eine exception werfenAKTUALISIERT
Nach um die temp-Pfad der hochgeladenen Datei, um die Größe des Bildes, das Sie verwenden können
getPath()
- Funktion in den bereits erwähnten loop -Wenn Sie Fragen, warum, weil die Symfony-File-Klasse erweitert SplFileInfo
config.yml
dann haben Sie die temp-Pfad zu der hochgeladenen Datei