PHP: Dateien hochladen.
PHP: Dateien hochladen.
In einigen meiner Webprojekten will ich eine PHP Bildergalerie bzw. in einem sogar eine Videosammlung. Der Nutzer (oder zumindest der Admin) soll dabei Bilder bzw. Videos hochladen können, ohne dass er die halbe Datenbank umschreiben muss. Wie kann ich vom Nutzer Dateien schicken lassen, diese empfangen umbenennen und in einen bestimmten Ordner verfrachten? Der Eintrag in die DB ist das geringste Problem, das bekomme ich sicher auch selbst hin.
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
Re: PHP: Dateien hochladen.
http://www.php-dummies.de/script/Tutori ... pload.html
Nicht vergessen, die Videodateien in flv. zu konvertieren, wenn diese in einem Flashplayer angezeigt werden sollen. Beim Upload der Dateien darauf achten, das diese sicher verstaut und nicht Ausführbar sind, sonst kann man ganz leicht ein Ausführbares PHP Skript einschleusen.
Nicht vergessen, die Videodateien in flv. zu konvertieren, wenn diese in einem Flashplayer angezeigt werden sollen. Beim Upload der Dateien darauf achten, das diese sicher verstaut und nicht Ausführbar sind, sonst kann man ganz leicht ein Ausführbares PHP Skript einschleusen.
Re: PHP: Dateien hochladen.
naja, wenn ich direkt nur Dateien zulasse die jpg, png oder gif sind...???
Warum sollte ich die Videos in flv konvertieren??? Ich lasse nur .avi Dateien zu. Die sollen alle mit dem DivX WebPlayer angezeigt werden.
Warum sollte ich die Videos in flv konvertieren??? Ich lasse nur .avi Dateien zu. Die sollen alle mit dem DivX WebPlayer angezeigt werden.

.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
Re: PHP: Dateien hochladen.
Weil man ein PHP-Skript (Endung .php) auch einfach in ein Bildformat umbenennen kann (Endung .gif).naums hat geschrieben:naja, wenn ich direkt nur Dateien zulasse die jpg, png oder gif sind...???
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)
(Richard P. Feynman)
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: PHP: Dateien hochladen.
Ich habe einen Uploadserver selbstgeschrieben, der Thred dazu sollte sich noch hier befinden.
Den Sourcecoe dazu kanst du hier Herunterladen: http://cloidnerux.cl.funpic.de/
Den Sourcecoe dazu kanst du hier Herunterladen: http://cloidnerux.cl.funpic.de/
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: PHP: Dateien hochladen.
um mal eben hierher zurückzukommen: http://www.php-dummies.de/script/Tutori ... pload.html
Irgendwie will das Skript bei mir nichts hochladen. entweder ich mach was falsch bei chmod oder aber das Skript is falsch. Folgende Varianten: unter Windows: XAMPP der Skript gibt folgendes aus:
Irgendwie will das Skript bei mir nichts hochladen. entweder ich mach was falsch bei chmod oder aber das Skript is falsch. Folgende Varianten: unter Windows: XAMPP der Skript gibt folgendes aus:
Unter Linux (Ubuntu 9.10 Karmic Koala) gibt das Skript das gleiche aus. (Apache) Den Ordner hab ich unter Linux schon mit einem sudo chmod 777 belegt aber trotzdem zeigt mir nautilius an, nur der Root hätte schreibrechte. -.-Fehler beim Speichern
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: PHP: Dateien hochladen.
Versuche es mal mit chown <Nutzername>.Unter Linux (Ubuntu 9.10 Karmic Koala) gibt das Skript das gleiche aus. (Apache) Den Ordner hab ich unter Linux schon mit einem sudo chmod 777 belegt aber trotzdem zeigt mir nautilius an, nur der Root hätte schreibrechte. -.-
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: PHP: Dateien hochladen.
Um genau zu sein:cloidnerux hat geschrieben:Versuche es mal mit chown <Nutzername>.Unter Linux (Ubuntu 9.10 Karmic Koala) gibt das Skript das gleiche aus. (Apache) Den Ordner hab ich unter Linux schon mit einem sudo chmod 777 belegt aber trotzdem zeigt mir nautilius an, nur der Root hätte schreibrechte. -.-
Dadurch wird das Verzeichniss und alle darunterliegenden Dateien dem user www-data zugesprochen, und bekommen alle einen Chmod 777. Ewtl. heißt der User auch www, wie bei meinem FreeBSD.Terminal hat geschrieben:chown -R www-data /verzeichniss
chmod -R 777 /verzeichniss
Wenn das Script irgendwelche Dateien zwischenspeichert, wie es beim PHP Upload, in der php.ini ja glaubisch schon auf /tmp gesetzt ist, sollte natürlich /tmp auch für den www-data User schreibbar sein....
Re: PHP: Dateien hochladen.
ist es das etwa nicht immer??? hm... ich schau mal.Wenn das Script irgendwelche Dateien zwischenspeichert, wie es beim PHP Upload, in der php.ini ja glaubisch schon auf /tmp gesetzt ist, sollte natürlich /tmp auch für den www-data User schreibbar sein....
jaaaaa, aber wenn das für den User www-data is, warum sollte ich dann da rein schreiben können???chown -R www-data /verzeichniss
chmod -R 777 /verzeichniss
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
Re: PHP: Dateien hochladen.
Mhmhm mal sehen:naums hat geschrieben:ist es das etwa nicht immer??? hm... ich schau mal.Wenn das Script irgendwelche Dateien zwischenspeichert, wie es beim PHP Upload, in der php.ini ja glaubisch schon auf /tmp gesetzt ist, sollte natürlich /tmp auch für den www-data User schreibbar sein....
FreeBSD 8.0 hat geschrieben:x330-1# cat /usr/local/etc/php.ini | grep upload
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M
Wie du siehst nicht. Aber laut dem Kommentar auf System default, was ja /tmp sein dürfte (gehört dem Benutzter root, bei drwxrwxrwt auf beiden). Bei mir funktioniert der Upload auf beiden Servern, aufdenen läuft je ne MediaWiki, und auf dem einen zudem 2x phpBB3 Boards, und der Upload funzt überall. Kann es vielleicht sein, das du die Maximale Uploadgröße immernoch auf 2MB stehen gelassen hast, und versuchst was größeres hochzuladen?Ubuntu Server 9.10 hat geschrieben:jan@dl360g2:~$ cat /etc/php5/apache2/php.ini | grep upload
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M
Dumpe mal am besten alle Variablen des Scripts beim Uploaden einer Plaintextdatei, und schau nach, was da so herauskommt...
Den Satz versteh ich nich so ganz. Das PHP Script wird vom User www-data bzw. www Ausgeführt.naums hat geschrieben:jaaaaa, aber wenn das für den User www-data is, warum sollte ich dann da rein schreiben können???