login  Naam:   Wachtwoord: 
Registreer je!
 Forum

upload file veranderen

Offline Warbringer - 01/02/2007 20:58
Avatar van WarbringerOnbekend Zou iemand mij kunnen vertellen hoe ik de naam van het bestand kan veranderen als het wordt geupload?

Mijn huidige code:

  1. move_uploaded_file($_FILES['bestand']['tmp_name'], "./uploads/" .$_FILES['bestand']['name']);

9 antwoorden

Gesponsorde links
Offline letscode - 01/02/2007 21:00
Avatar van letscode HTML beginner verander
move_uploaded_file($_FILES['bestand']['tmp_name'], "./uploads/" .$_FILES['bestand']['name']);

in
  1. <?php
  2. move_uploaded_file($_FILES['bestand']['tmp_name'], "./uploads/jebestandsnaam.extensie");
  3. ?>
Offline Warbringer - 01/02/2007 21:16 (laatste wijziging 01/02/2007 21:22)
Avatar van Warbringer Onbekend lol is dat alles? dankjewel he 

trouwens, enig idee hoe ik dan kan zien wat voor pic het is?
want als ik de extensie verander werkt het plaatje dan nog wel?

want een .gif als .jpeg opslaan gaat niet werken of wel?
Offline Rens - 01/02/2007 22:47
Avatar van Rens Gouden medaille

Crew algemeen
Exploden op een . en dan het laatste deel van de array ophalen.
  1. <?PHP
  2. $aArray = explode(".", $_FILES['userfile']['name']); // ik geloof $_FILES['userfile']['name'], weet niet 100% zeker
  3. $sExt = $aArray[(count($aArray)-1)];
  4. ?>

Als het goed is bevat $sExt nu je extensie.
Offline Ultimatum - 01/02/2007 22:50
Avatar van Ultimatum PHP expert @Rens, wat nou als ik een plaatje met de naam:
hoi.ik.ben.een.plaatje.jpg

dan is de extensie dus ik.ben.een.plaatje.jpg

Of explode moet de laatste punt pakken...
Offline GTW - 01/02/2007 22:52
Avatar van GTW Gouden medaille

PHP gevorderde
  1. $sExt = $aArray[(count($aArray)-1)];

dat doet deze regel van rens zijn scriptje 
Offline Rens - 01/02/2007 22:53
Avatar van Rens Gouden medaille

Crew algemeen
Er word op alle punten geëxplode.
Dus je array zal er als volgt uit zien:
  1. 0 => hoi
  2. 1 => ik
  3. 2 => ben
  4. 3 => een
  5. 4 => plaatje
  6. 5 => jpg
  7. );

Vervolgens tellen we het aantal waarden in de array, dit leverd 6 op.
Omdat we op 0 beginnen met tellen, moeten we -1 doen (array[6] bestaat niet, array[5] wel).
Zo kom je dus op de extensie uit 
Offline Gerard - 01/02/2007 23:00
Avatar van Gerard Ouwe rakker
  1. <?php
  2. function getExtension($sFileName) {
  3. return substr(strrchr($sFileName, '.'), 1);
  4. }
Offline Thomas - 02/02/2007 11:34
Avatar van Thomas Moderator Een controle op extensie is niet genoeg.

Het is wellicht ook verstandig om te kijken naar het type in $_FILES['userfile']['type'] en te proberen om de afmetingen van het tijdelijk geuploade bestand te bepalen met getimagesize().

Als een van deze twee (drie met extensie-check, maar deze is dus redelijk loos) checks niet het gewenste resultaat oplevert heb je grote kans dat je NIET met een plaatje te maken hebt.
Offline webstab - 02/02/2007 16:04
Avatar van webstab PHP ver gevorderde Ik heb iets uit de losse pols geschreven.
Met dit kan je misschien verder. (Al weet ik niet 100% zeker of het werkt)
  1. <?php
  2. if($_FILES['bestand']['size'] > 10240) {
  3. die("Te groot");
  4. }
  5. if($_FILES['bestand']['type'] == "image/gif" || $_FILES['bestand']['type'] == "image/png" || $_FILES['bestand']['type'] == "image/pjpeg" || $_FILES['bestand']['type'] == "image/jpeg") {
  6. die("foute extensie");
  7. }
  8. $ext = strrchr($_FILES['bestand']['name'], ".");
  9. $bestandsnaam = "bestand_uploaded";
  10. $map ="images/";
  11. if (!move_uploaded_file($_FILES['bestand']['tmp_name'], $map.$bestandsnaam.$ext) {
  12. die("Het opslaan is mislukt");
  13. }
  14. list($width, $height, $type, $attr) = getimagesize($map.$bestandsnaam.$ext);
  15. if ($width > 200 || $height > 180) {
  16. unlink($map.$bestandsnaam.$ext);
  17. die("Afmetingen niet in orde");
  18. }
  19. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.244s