Hallo allemaal,


Ik ben aan het proberen een site te maken, en het gaat best wel goed, maar nu zit ik vast. Het lukt mij niet op bestanden een unieke naam toe te wijzen.

Hier het originele bestand, wat moet ik wijzigen?

<?php
$output_dir = "uploads/";
if(isset($_FILES["myfile"]))
{
$ret = array();

$error =$_FILES["myfile"]["error"];
//You need to handle both cases
//If Any browser does not support serializing of multiple files using FormData()

if(!is_array($_FILES["myfile"]["name"])) //single file
{
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
$ret[]= $fileName;
}
else //Multiple files, file[]
{
$fileCount = count($_FILES["myfile"]["name"]);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["myfile"]["name"][$i];
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
$ret[]= $fileName;
}

}
echo json_encode($ret);
}
?>


alvast bedankt
Doe iets van

<?php

// Tijdelijke naam enctrypten voor unieke waarde
$filename = $_FILES['file']['tmp_name'];
$random = md5($_FILES['myfile']['tmp_name']);

move_uploaded_file($_FILES['myfile']['name'][$i], $ouput_dir.$filename);

?>

Kijk maar even of dat is wat je zoekt?
Gebruik deze functie.

$file_naam = $_FILES['myfile']['name'];
$ext = pathinfo($file_naam, PATHINFO_EXTENSION);
$uniq_bestand_name = crypt(uniqid($file_naam),'rl').$ext;
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$uniq_bestand_name);


Note:
Jouw upload systeem is helemaal niet secure!
je wilt de geuploade file vast ook weer terug kunnen vinden?

Hoe ga je dat bijhouden? Database? Dan heb je vast al een soort auto-increment id beschikbaar om een uniek nummer te verkrijgen.
Heel erg bedankt, ik heb het nu werkend gekregen!

Dan heb ik nog 1 klein vraagje, is er een mogelijkheid dat ik alle bestanden naar 2 verschillende mappen upload? een backup map?

$output_dir = "uploads/" ;
$output_dir = "uploads2/" ;

werkte niet, maar ik snap echt nog heel weinig van php.

Reageren