Avatar billede tobrukDk Novice
02. april 2012 - 12:21 Der er 10 kommentarer og
1 løsning

unik tal/navn til billedet

Hej

Det er sådan at jeg kunne godt tænke mig når det er at man upload f.eks et billedet så laver den bare en ID eller unik tal som gøre at der ikke er 2 ens ind i en mappe.

f.eks som her;

jesper.png
jesper.png(1)

jeg kun godt tænke mig at det komme til at se sådan her ud lige i den her still :)

196396_jesper.png f.eks

Hvis man kan gøre det på andre måder ;)

Min kode til at gør at blevet bliver 220 og en god passe høj til billedet og der efter samme tid 75x75 til billedet så man kan bruge det til sådan profil frem visen eller hvad man siger..



    $handle = new Upload($_FILES['file']);
    if($handle->uploaded){
    //lidt mere store billeder
    $handle->image_resize = true;
    $handle->image_ratio_y = true;
    $handle->image_x = 220;
    $handle->Process("profil/big_img");
    //til profil billede lign..
    $handle->image_resize = true;
    $handle->image_ratio_crop = true;
    $handle->image_y = 75;
    $handle->image_x = 75;
    $handle->Process("profil");
    $billedefilnavn = $handle->file_dst_name;


du må lige råbe højt hvis der er noget som du vil spørger om :) eller lign

Spørger hvis der er noget du vil vide omkring det her?
Avatar billede stigma Nybegynder
02. april 2012 - 12:38 #1
Hej, du kan eventuelt gøre dette med microtime() funktionen

$navn = md5(microtime());

$billedefil = $navn."_jesper.jpg";
Avatar billede tobrukDk Novice
02. april 2012 - 12:40 #2
Hej Stigma

Hvordan virker overhovedet der microtime???
Avatar billede tobrukDk Novice
02. april 2012 - 12:56 #3
#1 jamen jeg tænker på hvad nu hvis det er en png eller gif file der bliver upload ?
Avatar billede stigma Nybegynder
02. april 2012 - 13:15 #4
Du har jo filens oplysninger i dit $_FILES array, som du kan hente ved at skrive
$_FILES['name']

lad os sige at $_FILES['name'] = "jesper.png"

Så kan du gøre følgende:

$ext = array_pop(explode(".",$_FILES['name'])); //Returnere png

$uniktNavn = md5(microtime()); //Returnere en unik streng

$filnavn = $uniktNavn."_jesper.".$ext;


explode - deler en streng op i et array, i dette tilfælde bliver den delt op for hvert punktum den finder.
array_pop - tar den key i et array, og returnere dens værdi.
microtime - returnere tiden i sekunder + nano sekunder (mener jeg)
Avatar billede tobrukDk Novice
02. april 2012 - 14:43 #5
Det virker næsten men den kommer frem med en fejl ved den her kode


$ext = array_pop(explode(".",$_FILES['name']));



jeg  har gøre sådan her med kode


$billedefilnavn = null;
 
                    include("include/class.upload.php");
                        $handle = new Upload($_FILES['file']);
                     
                        if($handle->uploaded){
                                //lidt mere store billeder
                                $handle->image_resize = true;
                                $handle->image_ratio_y = true;
                                $handle->image_x = 220;
                                $handle->Process("profil/big_img");
                                    //til profil billede lign..
                                    $handle->image_resize = true;
                                    $handle->image_ratio_crop = true;
                                    $handle->image_y = 75;
                                    $handle->image_x = 75;
                                    $handle->Process("profil");               
                            $billedefilnavn = $handle->file_dst_name;
                           
                            $_FILES["name"] = $billedefilnavn;

                            $ext = array_pop(explode(".",$_FILES['name']));

                            $uniktNavn = md5(microtime());

                            $filnavn = $uniktNavn."_djinfo.".$ext;
                           
                                echo '<p>Billedet: '.$filnavn.'<br></p>';
                                echo "<p>Dit billede blev upload<br></p>";
                         
                        }else{
                                $billedefilnavn = 'bruger_intet.png';
                            }


men den går ind og siger den blive upload på siden :) altså sådan her


Billedet: d5639c5253ef0406a55efb87d4f5b67f_jesper.jpg

Dit billede blev upload
Avatar billede tobrukDk Novice
02. april 2012 - 15:16 #6
Den gem sig ikke i mappen og den ligger sig ikke ind i databasen..
Avatar billede stigma Nybegynder
02. april 2012 - 15:23 #7
Undskyld det var min fejl, grunden til at du får fejl ved den linje med $ext, fordi det er et multi dimensionelt array

Gør sådan her istedet:
$ext = array_pop(explode(".",$_FILES['file']['name']));
Avatar billede tobrukDk Novice
02. april 2012 - 15:27 #8
kommer frem og siger stadig ;

Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\ny\bruger_gallery_upload.php on line 58
Avatar billede tobrukDk Novice
02. april 2012 - 15:37 #9
Det vil sige det samme stede som før :(


<?php
            if(!empty($_POST))
            {
                $tekst = mysql_real_escape_string($_POST["tekst"]);
                $bruger_id = $_SESSION['user_id'];
               
                $billedefilnavn = null;
 
                    include("include/class.upload.php");
                        $handle = new Upload($_FILES['file']);
                       
                             
                        if($handle->uploaded){
                                //lidt mere store billeder
                                $handle->image_resize = true;
                                $handle->image_ratio_y = true;
                                $handle->image_x = 220;
                                $handle->Process("gallery/big_img");
                                    //til profil billede lign..
                                    $handle->image_resize = true;
                                    $handle->image_ratio_crop = true;
                                    $handle->image_y = 75;
                                    $handle->image_x = 75;
                                    $handle->Process("gallery");               
                            $billedefilnavn = $handle->file_dst_name;
                           
                            $_FILES["name"] = $billedefilnavn;

                            $ext = array_pop(explode(".",$_FILES['file']['name']));

                            $uniktNavn = md5(microtime());

                            $filnavn = $uniktNavn."_djinfo.".$ext;
                           
                                echo '<p>Billedet: '.$filnavn.'<br></p>';
                                echo "<p>Dit billede blev upload<br></p>";
                         
                        }                   
                    if(empty($errors))
                    {
                        $insert = mysql_query("INSERT INTO gallery (tekst,billedefilnavn,bruger_id)
                        VALUES ('$tekst','$filnavn','$bruger_id')");
                       
                        if(!$insert)
                        {
                            echo "Fejl".mysql_error()."her";
                        }
                        else
                        {
                            echo "Godkendt";
                        }
                    }
                }
            ?>
                <form action="" method="post" enctype="multipart/form-data">
                    <input type="text" name="tekst" placeholder="Tekst" style="margin:5px; width:370px;">
                    <input type="file" name="file"><br>
                    <input type="submit" value="Upload">
                </form>
Avatar billede tobrukDk Novice
02. april 2012 - 15:58 #10
jeg gør sådan her og det er mere nemt for mig :)


<?php
            if(!empty($_POST))
            {
                $tekst = mysql_real_escape_string($_POST["tekst"]);
                $bruger_id = $_SESSION['user_id'];
               
                $billedefilnavn = null;
 
                    include("include/class.upload.php");
                        $handle = new Upload($_FILES['file']);
                       
                             
                        if($handle->uploaded){
                                //lidt mere store billeder
                                $handle->image_resize = true;
                                $handle->image_ratio_y = true;
                                $handle->image_x = 220;
                                $handle->Process("gallery/big_img");
                                    //til profil billede lign..
                                    $handle->image_resize = true;
                                    $handle->image_ratio_crop = true;
                                    $handle->image_y = 75;
                                    $handle->image_x = 75;
                                    $handle->Process("gallery");               
                            $billedefilnavn = $handle->file_dst_name;
                           
                            $unik = time();
                           
                                echo '<p>Billedet: '.$unik . $billedefilnavn.'<br></p>';
                                echo "<p>Dit billede blev upload<br></p>";
                         
                        }                   
                    if(empty($errors))
                    {
                        $insert = mysql_query("INSERT INTO gallery (tekst,billedefilnavn,bruger_id)
                        VALUES ('$tekst','$billedefilnavn','$bruger_id')");
                       
                        if(!$insert)
                        {
                            echo "Fejl".mysql_error()."her";
                        }
                        else
                        {
                            echo "Godkendt";
                        }
                    }
                }
            ?>
Avatar billede tobrukDk Novice
02. april 2012 - 16:22 #11
Det virker ikke ... :(

så blive bare ved med den her


<?php
            if(!empty($_POST))
            {
                $tekst = mysql_real_escape_string($_POST["tekst"]);
                $bruger_id = $_SESSION['user_id'];
               
                $billedefilnavn = null;
 
                    include("include/class.upload.php");
                        $handle = new Upload($_FILES['file']);
                       
                             
                        if($handle->uploaded){
                                //lidt mere store billeder
                                $handle->image_resize = true;
                                $handle->image_ratio_y = true;
                                $handle->image_x = 220;
                                $handle->Process("gallery/big_img");
                                    //til profil billede lign..
                                    $handle->image_resize = true;
                                    $handle->image_ratio_crop = true;
                                    $handle->image_y = 75;
                                    $handle->image_x = 75;
                                    $handle->Process("gallery");               
                            $billedefilnavn = $handle->file_dst_name;
                           
                            $_FILES["name"] = $billedefilnavn;

                            $ext = array_pop(explode(".",$_FILES['file']['name']));

                            $uniktNavn = md5(microtime());

                            $filnavn = $uniktNavn."_djinfo.".$ext;
                           
                                echo '<p>Billedet: '.$filnavn.'<br></p>';
                                echo "<p>Dit billede blev upload<br></p>";
                         
                        }                   
                    if(empty($errors))
                    {
                        $insert = mysql_query("INSERT INTO gallery (tekst,billedefilnavn,bruger_id)
                        VALUES ('$tekst','$filnavn','$bruger_id')");
                       
                        if(!$insert)
                        {
                            echo "Fejl".mysql_error()."her";
                        }
                        else
                        {
                            echo "Godkendt";
                        }
                    }
                }
            ?>

du få noget for det når vi har klart det eller man siger :) håber det okay?
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