Uploaden van een foto

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Ozzie PHP

Ozzie PHP

18/10/2012 12:06:10
Quote Anchor link
Heeft je map waarin je het bestand wil zetten wel de goede bestandsrechten?
 
PHP hulp

PHP hulp

17/02/2025 08:48:26
 
Karin Gijssen

Karin Gijssen

18/10/2012 12:08:18
Quote Anchor link
AHA! Nu kom ik verder. Ik heb een heel klein gif bestandje gemaakt en geupload. Nog wel met foutmeldingen, maar ik kom in ieder geval in de loop...

Warning: move_uploaded_file(/images/plaatje.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\leerphp\afbeelding.php on line 23

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\xampp\tmp\php73A0.tmp' to '/images/plaatje.gif' in C:\xampp\htdocs\leerphp\afbeelding.php on line 23

Het bestand kon niet verplaatst worden

Het bestand test.gif is geupload
 
Bart V B

Bart V B

18/10/2012 12:08:49
Quote Anchor link
Quote:
Dat zou betekenen dat de filesize groter is dan in het html document aangegeven. Dus ga ik daar nog eens naar kijken.


Dat moet je niet regelen met html, dat is aanpasbaar.
Je moet het zoeken in de php.ini.
http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
 
Karin Gijssen

Karin Gijssen

18/10/2012 12:11:16
Quote Anchor link
Ozzie PHP op 18/10/2012 12:06:10:
Heeft je map waarin je het bestand wil zetten wel de goede bestandsrechten?


Ja, schrijfrechten staat aan voor alle geberuikers
 
Chris PHP

Chris PHP

18/10/2012 12:30:24
Quote Anchor link
Karin Gijssen op 18/10/2012 11:39:31:
Leuk om zoveel discussie te zien, aangezien het script uit het PHP studieboek komt. (Handboek PHP 5.3 van Arjan Burger). Maar hoe je het ook wendt of keert...het probleem is nog steeds niet duidelijk. Waarom komt het script niet voorbij de eerste if? Ik zal zeker even met tigzag aan de gang gaan.

Toevoeging op 18/10/2012 11:40:56:

Chris NVT op 18/10/2012 07:45:36:
Karin,

Het is niet aan te raden om 'het echte pad' op te geven wat je op regel 4 doet. Maar bijvoorbeeld alleen /images.

Tevens controleer je niets in je if statements, wat een beetje raar is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($_POST["knop"])
//als het wat is?
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if (is_uploaded_file($_FILES['afbeelding']['tmp_name']))
//als het wat is?
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if (!move_uploaded_file($_FILES['afbeelding']['tmp_name'], $pad.$doelbestandsnaam.$extensie[0])
//dit ook geen goede if statement*
?>


Het is bijvoorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if (isset($_POST["knop"]))
//Nu kijkt hij of je $_POST['knop'] gevult is
?>


Dit pas je ook zo toe bij de if is_uploaded_file statement om te kijken of het gevult is. Je kunt ook empty gebruiken, beide doen in principe het zelfde alleen omgedraaid!

isset kijkt of er een waarde is, en empty kijkt of er geen waarde is. !isset kijkt of er geen waarde is, en !empty kijkt of er wel een waarde is.


Nomaals: dit script komt uit een studieboek. Ik heb het niet zelf verzonnen ;-)


Dat zijn voorbeelden, en geen werkelijkheid.
 
Karin Gijssen

Karin Gijssen

18/10/2012 12:30:42
Quote Anchor link
Dank allemaal! Het werkt. Met een klein bestand en het juiste pad: $pad = "images/"; werkt de boel nu. Natuurlijk moet je de filesize in je PHP.ini regelen, en dat komt later in het boek vast nog aan de orde.
In ieder geval weer veel nieuwe ideeën en bronnen (zoals tizag) waar ik verder mee kan! Dit is het uiteindelijke, werkende script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
if ($_POST["knop"]) {
  $doelbestandsnaam = "plaatje";
  $pad = "images/";
  if (is_uploaded_file($_FILES['afbeelding']['tmp_name'])) {
      // bestandgrootte controleren
      if ($_FILES['afbeelding']['size'] > 150000){
          echo "Het bestand is te groot";
          exit;
      }

      //extensie controleren
      if (!preg_match("/((.gif|.jpg|.png)$)/", $_FILES['afbeelding']['name'], $extensie)) {
          echo "Het bestand is niet van het juiste type";
          exit;
      }

      if (!move_uploaded_file($_FILES['afbeelding']['tmp_name'], $pad.$doelbestandsnaam.$extensie[0])){
          echo "Het bestand kon niet verplaatst worden";
          exit;
      }

      echo "Het bestand ".$_FILES['afbeelding']['name']." is geupload";
  }
else {
      echo "Het uploaden is niet gelukt";
      echo $_FILES['afbeelding']['error'];
  }
}
else {
?>

<form enctype="multipart/form-data" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER["PHP_SELF"]?>
" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="150000" />
Upload afbeelding: <input name="afbeelding" type="file" />
<input type="submit" value="Uploaden" name="knop" />
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>
 
Stefan WM

Stefan WM

18/10/2012 12:37:49
Quote Anchor link
alleen een beetje jammer dat je niks met onze aanwijzingen doet..
 
Karin Gijssen

Karin Gijssen

18/10/2012 12:52:57
Quote Anchor link
Stefan van den Broek op 18/10/2012 12:37:49:
alleen een beetje jammer dat je niks met onze aanwijzingen doet..


Ik doe daar zeker wat mee en waardeer het ook zeer, Stefan. Elke opmerking geeft meer inzicht en ik heb er ook zeker een stel opgeschreven voor verder gebruik. Ik heb voor nu alleen even zo veel mogelijk het boek van Arjan Burger aangehouden, omdat daar een doorgaande lijn inzit en ik anders straks bij vervolgopdrachtjes niet meer weet wat ik zelf allemaal anders heb gedaan en heb aangepast naar aanleiding van jullie reacties. Het is gewoon even praktischer zo...
 
Stefan WM

Stefan WM

19/10/2012 09:25:48
Quote Anchor link
oke, ik doelde natuurlijk op dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($_POST["knop"]) {
}

?>


en zo stonden er wel meer dingen:)
Gewijzigd op 19/10/2012 09:27:55 door Stefan WM
 
Chris PHP

Chris PHP

19/10/2012 12:28:28
Quote Anchor link
Stefan van den Broek op 19/10/2012 09:25:48:
oke, ik doelde natuurlijk op dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($_POST["knop"]) {
}

?>


en zo stonden er wel meer dingen:)

Dat is nu het nadeel als er 'voorbeelden' een-op-een gebruikt worden. Je kunt de opdrac ht beter zelf schrijven ipv overtypen. Dan snap je ook wat je doet, en nog belangrijker waarom.
 
Albert de Wit

Albert de Wit

19/10/2012 12:37:29
Quote Anchor link
anders moet je even een pictogram uploaden (dit zijn bijna niks qua grootte).
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.