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:
PHP
<?php
if (isset($_POST['submit'])) {
$j = 0; //Variable for indexing uploaded image
$target_path = "upload/album/"; //Declaring Path for uploaded images
for ($i = 0; $i < count($_FILES['file']['name']); $i++)
{
//loop to get individual element from the array
$validextensions = array("jpeg", "jpg", "png", "JPG"); //Extensions which are allowed
$ext = explode('.', basename($_FILES['file']['name'][$i]));//explode file name from dot(.)
$file_extension = end($ext); //store extensions in the variable
$target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1];//set the target path with a new name of image
$j = $j + 1;//increment the number of uploaded images according to the files in array
if (($_FILES["file"]["size"][$i] < 1000000000000000) && in_array($file_extension, $validextensions))
{
if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path))
{ //if file moved to uploads folder
echo $j. ').<span id="noerror">foto uploaded is gelukt!.</span><br/>';
$album = $dbh->prepare("insert into albumfoto(naam,album) values (?,?)");
$naam_album=$_POST['albums'];
$nam = "<a href='" .$target_path . "'class='top_up'><img class='album_foto' id='P" .substr($_FILES["file"]["name"][$i],0,strpos($_FILES["file"]["name"][$i],".")) ."' src='" . $target_path . "' width='110' height='90'></img></a>";
$album->bindParam(1,$nam);
$album->bindParam(2, $naam_album);
$album->execute();
}
else
{ //if file was not moved.
echo $j. ').<span id="error">probeer het nog eens. blijf dit zich voordoen contacteer webdesigner.</span><br/> ';
}
}
else
{//if file size and file type was incorrect.
echo $j. ').<span id="error">***een te grote foto of verkeerde extensie! alleen fotos ***</span><br/>';
}
}
}
?>
Toon Meer
ziet iemand de fout?
groetjes,
Mitchell