meerdere foto's uploaden

  • Ik zit met een probleem in mijn script.
    Ik wou mijn php kennis verbeteren. en een script maken voor meerdere foto's te uploaden in 1 keer. Het script werkt niet volledig juist.
    Het probleem zit hem als ik foto's selecteer. zal hij deze via de tmp map naar de juist locatie brengen. maar in de database gebeurt er iets raar... Normaal gezien moet hij altijd het pad opslagen in 1 rij. (uniek ID) maar hij slaagt alle paden op van de foto's in meerdere rijen.
    bv:
    foto 1 geupload pad => upload/foto1.png
    foto 2 geupload pad => upload/foto2.png upload/foto1.png
    en zou gaat dit maar voor tot het maximum aantal char word bereikt.
    Dit is mijn code:


    ziet iemand de fout?


    groetjes,
    Mitchell

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Een aantal vragen/punten die ik niet helemaal snap

    • Het lijkt erop alsof je een volledige style/img tag wil opslaan in de database, dat is sowieso al niet slim. Hou alle style, html tags etc zoveel mogelijk uit de php code en database. In dit geval sla gewoon op waar de foto staat.
    • Ik zie geen html form of iets in die richting. Hier kan uiteraard ook wat mis zijn.
    • Ik zie ook dat je de maximale bestand grote heel hoog hebt staan. Dit heeft met z'n groot nummer niet echt zin om te controleren.
    • Code
      $target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1];

      Geen idee waarom die - 1 maar die is hier niet nodig volgens mij?! Kan dit je probleem zijn?

    Ik hoop dat je eruit kan komen :)


    Gr,
    Tim

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • @mentimjojo

    • Ik heb dit gedaan omdat anders waar de foto's worden uitgelezen er langer over doen als ik dit in mijn css & javacript file doe.

    • Ik heb dit gedaan om te testen dat daar de fout lag... dus dat mag eigenlijk genegeerd worden :)
    • als ik deze -1 wegdoen lukt het helemaal niet
    • hij zegt dat het probleem op deze lijn zit:
      Code
      if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path))


    ik zie toch niks fout bij deze lijn...

    • heb een foto toegevoegd wat er in mijn database komt te staan. je kan zien dat hij meerdere foto's in 1 rij opslaat.

    groetjes,
    Mitchell

  • Ja dat vermoed ik ook, om een of andere reden zet hij de variable $target_path niet opnieuw. Probeer is als je data is opgeslagen, binnen de for loop even unset($target_path) te doen. Op deze manier, wanneer de for loop rij 2 gaat uitvoeren is $target_path leeg.

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • @mentimjojo
    de unset doet het. heb wel even de declaratie van target_path terug in mijn for loop gestoken.
    Hier is mijn code zodat andere mensen het kunnen gebruiken:

  • @mitchellve Mooizo ik snap alleen niet waarom hij de variabele niet opnieuw zetten maar er bij gaat schrijven. Ik weet dat het volgende zet.


    Code
    $variabele = "foto/";


    Dit zou de variebele moeten zetten, dus als je dat op nieuw doet in een for loop verwijderd hij de huidige waarde en zet hij de nieuwe, tenzij je het volgende doet:


    Code
    $variabele += "foto/"


    Dit schrijft er bij om het moment dat je dit in een for loop stopt. Maarja het werkt!

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!