[php] files uploaden naar server

Pagina: 1
Acties:

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Ik wil graag plaatjes e.d. kunnen uploaden via mijn browser.
Nou zijn er verschillende mogelijkheden;
een perl-script,
of php.

Omdat ik geen perl ken, hou ik het liever bij php.
maar wat is nou de beste manier om dit te doen?
het kan bijvoorbeeld door de ftp-commando's te gebruiken die php heeft.
of door fwrite() of move_uploaded_file() te gebruiken.

Welke van deze methoden is het beste?
(het moet eigenlijk bij alle providers werken)

Verwijderd

Je kunt het beste move_uploaded_file() gebruiken, die is veelzijdiger en werkt prima. De nodige uitleg over deze functie heb je natuurlijk op http://nl.php.net/move_uploaded_file en een handige tutorial erover: http://www.jacqieline.com/tutorials?action=show&id=103

Waar je kunt zien hoe je het een beetje in elkaar zet.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je gaat php-ftp-commando's gebruiken via je browser :?
Das knap.

Lees je es wat beter in in de materie en ga alsjeblieft eens wat tutorials en voorbeelden doorkijken.

Verwijderd

Zo moeilijk is het inderdaad niet.
http://www.php.net/manual/en/features.file-upload.php

Verwijderd

ACM schreef op 15 September 2002 @ 18:11:
Je gaat php-ftp-commando's gebruiken via je browser :?
Das knap.

Lees je es wat beter in in de materie en ga alsjeblieft eens wat tutorials en voorbeelden doorkijken.
Misschien begrijp ik je antwoord verkeerd, maar dat kan toch best? Of het wenselijk is is een andere vraag, maar of je daaraan twijfelt maak ik niet op uit je antwoord :)

lekker ftp'en met php :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 15 september 2002 @ 19:51:
[...]

Misschien begrijp ik je antwoord verkeerd, maar dat kan toch best? Of het wenselijk is is een andere vraag, maar of je daaraan twijfelt maak ik niet op uit je antwoord :)

lekker ftp'en met php :)


Alles leuk en aardig, maar tenzij meneer thuis een ftp-server heeft draaien is dit natuurlijk helemaal niet van toepassing waneer je via je browser files wil uploaden naar je webserver.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
túúrlijk draai ik ftp :P
Maar het gaat niet om mijn eigen server,
maar gewoon een wehosting waar je voor betaalt..
en die draaien ALTIJD ftp :P

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En je snapt nog steeds niet wat ik (en Janoz onderbouwd) probeer te zeggen...

Verwijderd

ACM schreef op 15 september 2002 @ 20:11:
En je snapt nog steeds niet wat ik (en Janoz onderbouwd) probeer te zeggen...
mag ik mag ik mag ik? :P

Goed: het motto is: waarom zou je het moeilijk doen als het makkelijk kan?

Er zijn vrij veel webhosts die PHP in safe mode draaien. Standaard staat ftp access via php dan uit. Dan heb je er bij voorbaat dus al niets aan. De file upload functies zijn praktisch wèl altijd beschikbaar en zijn een stuk makkelijker toe te passen. Er staan zelfs kant en klare scripts voor in de manual. Ik citeer:
PHP:
1
2
3
4
5
6
7
8
9
10
<?php 
// In PHP earlier then 4.1.0, $HTTP_POST_FILES  should be used instead of $_FILES.
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    copy($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name'];
}
/* ...or... */
move_uploaded_file($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
?>

HTML:
1
2
3
4
5
<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

Nu is het duidelijk genoeg denk ik hè? ;)

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
ja :D
Pagina: 1