Avatar billede saybot Nybegynder
08. juli 2005 - 13:47 Der er 8 kommentarer og
1 løsning

Random nummer

Jeg har et script her... med noget upload. Jeg har så prøvet at få den til at indsætte random nummer ($tal-filnavn) men kan ikke få det til at virke.

<?
//random nummer laves her
$tal = mt_rand(1,10000);

if (!isset($HTTP_POST_FILES['userfile'])) exit;

if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {

if ($HTTP_POST_FILES['userfile']['size']>$max_size) {
        echo "Fil for stor !!!"; exit; }
if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/png")) {

        if (file_exists("/hsphere/local/home/neo/".$path . $HTTP_POST_FILES['userfile']['name'])) {
       
                echo "ss"; exit; }

        $res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "/hsphere/local/home/neo/".$path .$HTTP_POST_FILES ['userfile'][$tal]['name']);

        if (!$res) { echo "Fejl"; exit; } else {
       
?>

Den burde være rimelig nem... men jeg har altså rodet rundt i det.
Avatar billede jaw Nybegynder
08. juli 2005 - 14:06 #1
Den uploader ellers rigtigt nok?
Avatar billede saybot Nybegynder
08. juli 2005 - 14:45 #2
når [$tal] er tilføjet der hvor den er så uploader den ikke filen. men hvis jeg fjerner [$tal] så uploader den filen.
Avatar billede saybot Nybegynder
08. juli 2005 - 14:46 #3
jeg får: failed to open stream
Avatar billede jaw Nybegynder
08. juli 2005 - 14:48 #4
Dette virker så ikke?

$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "/hsphere/local/home/neo/".$path."[".$tal."]".$HTTP_POST_FILES['userfile'][$tal]['name']);
Avatar billede saybot Nybegynder
08. juli 2005 - 14:50 #5
nej.. for den sætter den sådan at den vil oprette en mappe... istedet for $tal-billede.jpg
Avatar billede jaw Nybegynder
08. juli 2005 - 14:53 #6
Så er det, fordi du gør det forkert :)

Men i den her linie, hvad laver $tal så hvor du har placeret det?
$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "/hsphere/local/home/neo/".$path.$HTTP_POST_FILES['userfile'][$tal]['name']);

Prøv lige:
$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "/hsphere/local/home/neo/".$path.$tal.$HTTP_POST_FILES['userfile']['name']);
Avatar billede saybot Nybegynder
08. juli 2005 - 15:00 #7
det virker sq :), den linie jeg havde lavet var fuldkommen forkert :/

Mange tak igen :)

Lig lige et svar så du kan få dine point
Avatar billede jaw Nybegynder
08. juli 2005 - 15:01 #8
Ja, den var fuldkommen forkert, men pyt med det, bare det virker :D Og selv tak...
Avatar billede xyborx Nybegynder
08. juli 2005 - 16:54 #9
Jeg vil mene at det er forkert at stole på et tilfældigt tal til at undgå at overskrive eksisterende filer. Enten bør du give filerne fortløbende numre, som f.eks. deres id nummer i en database, eller også skal du bruge en funktion der er designet specifikt til det formål: http://dk2.php.net/tempnam

At stole på tilfældigheder er en bug der bare venter på at komme til syne.. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester