Ich habe das eine Weile untersucht und kann es nicht herausfinden. Grundsätzlich habe ich eine Seite für mein Modell hinzufügen, die Sie eine Karte von einer URL oder von einem Datei-Upload hinzufügen können. Ich habe alle Felder und Validierung in, aber wie und wo verwalte ich die hochgeladene Datei ?? Es muss einen einfachen Weg geben, dies zu tun. Vielen Dank!Wie funktioniert der formularbasierte Upload von Dateien in CakePHP?
Antwort
Zunächst muss Ihr Formular eingerichtet werden, um Datei-Uploads zu ermöglichen.
<?php echo $form->create(Model, array('type' => 'file')); ?>
Dies wird alle Datei-Eingänge können tatsächlich die Datei auf dem Server mit $form->file(field)
oder $form->input(field, array('type' => 'file'))
hochladen.
Sobald die Datei hochgeladen wurde, können Sie alles andere aus dem Modell verfahren soll:
function beforeSave($created) {
extract($this->data[Model][field]);
if ($size && !$error) {
move_uploaded_file($tmp_name, destination);
$this->data[Model][field] = destination;
}
return true;
}
Dies sind nur die Grundlagen, so sicher sein, um ein Spiel zu haben, die Lösung zu finden, die am besten Ihren Bedürfnissen entspricht .
HINWEIS: MeioUploadBehavior ist veraltet. Stattdessen schlägt jrbasso die Upload Plugin
vor.
Zusätzlich zu den bereits gegebenen feinen Antworten möchte ich einen Hinweis auf MeioUploadBehavior
geben, der zur Zeit von jrbasso at github gepflegt wird, was eine große Hilfe für mich in meinem eigenen CakePHP-Projekt war.
Sie fügen einfach das Verhalten zu Ihrem Modell hinzu, indem Sie das Feld $actsAs
verwenden und gleichzeitig alle benutzerdefinierten Einstellungen angeben. Erstellen Sie dann in Ihrer Datenbank die erforderlichen Felder (beschrieben durch die bereitgestellten Dokumente) oder konfigurieren Sie das Modell so, dass keine Datenbanktabelle verwendet wird. Schließlich erstellen Sie das Formular in Ihrer Add-Seite, auch in der mitgelieferten Dokumentation beschrieben. Das Verhalten kümmert sich dann um den Rest für Sie.
Sie können Zend Components verwenden, um den Datei-Upload zu verarbeiten. Es gibt ein gutes Beispiel hier auf meiner Website:
Hallo Geo. Ich habe einen Kommentar zu Ihrem Blog-Artikel abgegeben. Bitte erwähnen Sie die Version von CakePHP, die Sie in Ihrem Beispiel verwendet haben. Vielen Dank. –
- 1. Upload von mehreren Dateien
- 2. CakePHP 2.1 .po Dateien/Übersetzung funktioniert nicht
- 3. CakePHP (2.1) Medien Plugin - Multi File Upload
- 4. Datei-Upload-Problem mit CakePHP
- 5. Wie konfiguriert man .htaccess Dateien von CakePHP in WampServer?
- 6. UWP: Upload von großen Dateien
- 7. formularbasierte Authentifizierung in Jboss AS
- 8. Wie funktioniert die CakePHP-Namenskonvention?
- 9. unbindModel Anruf in CakePhp. Wie funktioniert es?
- 10. ASP.Net-Website-Upload funktioniert nicht
- 11. CakePHP 3.x mehr Datei-Upload nicht
- 12. Wie funktioniert der Upload nach Region in AWS-Stack?
- 13. FTP-Upload-Dateien Python
- 14. Namen Upload-Dateien
- 15. CakePHP - Loading Routen Dateien von einem Plugin
- 16. CakePHP 3.2 langsam laden von CSS-Dateien
- 17. Wie funktioniert der Stylus-Variablenbereich in Dateien?
- 18. Wie funktioniert das Verbergen von Dateien in der JPEG-Datei?
- 19. jquery-Datei-Upload einschränkende Anzahl von Dateien
- 20. Wie funktioniert das Konvertieren von Java-Dateien in Kotlin-Dateien?
- 21. Bilder werden nicht in den photo_dir Ordner mit CakePHP-Upload-Plugin auf CakePHP gespeichert 3.2
- 22. Eingabedatei Upload mehrerer Dateien funktioniert nicht auf dem mobilen Gerät
- 23. Upload von Dateien in WCF-Dienste nähert sich
- 24. CakePHP 2.x Plugin funktioniert nicht in CakePHP 3.x
- 25. cakePHP isAuthorized funktioniert nicht
- 26. berechnen ungefähre Zeit Upload-Dateien
- 27. CakePHP Auftrag von DESC funktioniert nicht
- 28. Senden von Dateien/Datei-Upload mit Ajax, die in IE9 funktioniert
- 29. Bild-Upload funktioniert sporadisch
- 30. CakePHP-Bootstrap-Kollaps funktioniert nicht
, dass Funktionsname sollte "move_uploaded_file" lesen :) – inkedmn
Ah danke, es wurde aktualisiert. Das Textfeld überprüft nicht meine Syntax. ;) –
So habe ich die Funktion move_uploaded_file gemacht: move_uploaded_file ($ _DATEIEN ['data'] ['tmp_name'] ['Item'] ['ipath'], "$ destination /".$_ FILES ['data'] ['name'] ['Gegenstand'] ['ipath']); –