Búa til upload server

Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Mið 22. Maí 2013 21:15

Kóðinn virkaði ekki


Bananas

Skjámynd

tdog
Vaktari
Póstar: 2012
Skráði sig: Mán 06. Des 2010 17:32
Reputation: 24
Staða: Ótengdur

Re: Búa til upload server

Pósturaf tdog » Mið 22. Maí 2013 21:21

Þú þarft að leyfa file upload í php.ini, sért þú ekki búinn að því.



Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Mið 22. Maí 2013 21:22

tdog skrifaði:Þú þarft að leyfa file upload í php.ini, sért þú ekki búinn að því.

Hvar finn ég php.ini? /etc/php5?


Bananas

Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Búa til upload server

Pósturaf dori » Fim 23. Maí 2013 11:43

mikkidan97 skrifaði:Kóðinn virkaði ekki

Eins og ég sagði þá hafði ég ekki keyrt hann. Vantaði semikommu og ég gleymdi að hreinsa út else klausu sem var óþarfi.

Kóði: Velja allt

<?php
const UPLOAD_PATH 
= "upload/";

$allowedExts = array("gif", "jpeg", "jpg", "png", "mp3");
$allowedMimes = array("image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/x-png", "image/png", "audio/mp3");
$maxSize = 100000000;

function get_extension($filename)
{
    return strtolower(end(explode(".", $filename)));
}

function get_file_path($file)
{
    return UPLOAD_PATH . md5_file($file["tmp_name"]);
}

$extension = get_extension($_FILES["file"]["name"]);
$mime = $_FILES["file"]["type"];
$size = $_FILES["file"]["size"];
if (!in_array($mime, $allowedMimes))
{
    echo "Restricted mime type: " . $mime;
}
 
elseif 
($size > $maxSize)
{
    echo "File too big (max size " . $maxSize . "): " . $size;
}
elseif (!in_array($extension, $allowedExts))
{
    echo "Restricted extension: " . $extension;
}
else
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    
{
        $path = get_file_path($_FILES["file"]);
        
        echo 
"Upload: " . $_FILES["file"]["name"] . "<br>";
        echo "Type: " . $_FILES["file"]["type"] . "<br>";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
        echo "Dest path: " . $path;

        if (file_exists($path))
        {
            echo $path . " already exists. ";
        }
        else
        
{
            if(move_uploaded_file($_FILES["file"]["tmp_name"], $path))
            {
                echo "Stored " . $_FILES["file"]["name"] . " in: " . $path;
            }
            else
            
{
                echo "Couldn't upload " . $_FILES["file"]["name"];
            }
        }
    }
}
?>


mikkidan97 skrifaði:
tdog skrifaði:Þú þarft að leyfa file upload í php.ini, sért þú ekki búinn að því.

Hvar finn ég php.ini? /etc/php5?

Láttu serverinn keyra

Kóði: Velja allt

<?php
phpinfo
(1);
?>

Það sýnir staðsetninguna á php.ini sem er í notkun.



Skjámynd

kusi
Ofur-Nörd
Póstar: 201
Skráði sig: Mið 29. Apr 2009 23:17
Reputation: 25
Staða: Ótengdur

Re: Búa til upload server

Pósturaf kusi » Fim 23. Maí 2013 11:45

Byggt á því sem dori gerði.

Þetta virkar amsk. hjá mér.

Er með "upload" möppuna einu leveli fyrir ofan public möppuna en þú aðlagar það bara að þínu setupi.
Ef þetta virkar ekki myndi ég halda að þú þyrftir að setja réttar heimildir (með CHMOD) á upload möppuna.

Kóði: Velja allt

<?php
const UPLOAD_PATH = "../upload/";

$allowedExts = array("gif", "jpeg", "jpg", "png", "mp3");
$allowedMimes = array("image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/x-png", "image/png", "audio/mp3");
$maxSize = 100000000;

function get_extension($filename)
{
    return strtolower(end(explode(".", $filename)));
}

function get_file_path($file)
{
    return UPLOAD_PATH . md5_file($file["tmp_name"]);
}

if (empty($_FILES)) {
    echo "<form enctype='multipart/form-data' action='upload.php' method='post'>\n";
        echo "<input type='hidden' name='MAX_FILE_SIZE' value='$maxSize' >";
        echo "<label>";
            echo "<span>Veldu skrá</span>";
            echo "<input name='file' type='file' required='required'>";
        echo "</label>";
        echo "<input type='submit' value='Senda'>";
    echo "</form>\n";
} else {
    try {
        $extension = get_extension($_FILES["file"]["name"]);
        $mime = $_FILES["file"]["type"];
        $size = (int) $_FILES["file"]["size"];

        if (!in_array($mime, $allowedMimes))
        {
            throw new Exception("Restricted mime type");
        }
        elseif ($size > $maxSize)
        {
            throw new Exception("File too big (max size " . $maxSize . "): " . $size);
        }
        elseif (!in_array($extension, $allowedExts))
        {
            throw new Exception("Restricted extension");
        }
        elseif ($_FILES["file"]["error"] > 0)
        {
            throw new Exception("Upload error with return Code: " . $_FILES["file"]["error"]);
        }
        else
        {
            $path = get_file_path($_FILES["file"]);

            // TODO: Sanitize
            echo "Upload: " . $_FILES["file"]["name"] . "<br>";
            echo "Type: " . $_FILES["file"]["type"] . "<br>";
            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
            echo "Dest path: " . $path;

            if (file_exists($path))
            {
                throw new exception ("A file with this name already exists");
            }
            else
            {
                if(move_uploaded_file($_FILES["file"]["tmp_name"], $path))
                {
                    echo "Stored " . $_FILES["file"]["name"] . " in: " . $path;
                }
                else
                {
                    throw new exception ("Could not receive file");
                }
            }
        }

    } catch (Exception $e) {
        echo $e->getMessage();
    }
}
?>



Skjámynd

Maniax
Ofur-Nörd
Póstar: 228
Skráði sig: Þri 24. Júl 2012 14:59
Reputation: 8
Staða: Ótengdur

Re: Búa til upload server

Pósturaf Maniax » Fim 23. Maí 2013 13:23

Frekar fyndið, Eset Smart Security blockaði á síðuna hjá þér

ESET SMART SECURITY
Access denied
Details:
Web page: http://codw.co.vu
Comment: Access to the web page was blocked by ESET Smart Security. The web page is on the list of websites with potentially dangerous content.



Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Fim 23. Maí 2013 14:35

Maniax skrifaði:Frekar fyndið, Eset Smart Security blockaði á síðuna hjá þér

ESET SMART SECURITY
Access denied
Details:
Web page: http://codw.co.vu
Comment: Access to the web page was blocked by ESET Smart Security. The web page is on the list of websites with potentially dangerous content.

Það er örugglega útaf domaininu :face

Einhverja hluta vegna eru svona security software eitthvað á móti domaininu mínu, þ.e.a.s. þessu domaini, getur prufað codw.co.nr eða flying.2freedom.com (not made by me :-" )

Blockaði líka á síðunna í skólanum hjá mér :-k
Síðast breytt af mikkidan97 á Fim 23. Maí 2013 14:48, breytt samtals 1 sinni.


Bananas

Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Fim 23. Maí 2013 14:46

kusi skrifaði:Byggt á því sem dori gerði.

Þetta virkar amsk. hjá mér.

Er með "upload" möppuna einu leveli fyrir ofan public möppuna en þú aðlagar það bara að þínu setupi.
Ef þetta virkar ekki myndi ég halda að þú þyrftir að setja réttar heimildir (með CHMOD) á upload möppuna.

Kóði: Velja allt

<?php
const UPLOAD_PATH = "../upload/";

$allowedExts = array("gif", "jpeg", "jpg", "png", "mp3");
$allowedMimes = array("image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/x-png", "image/png", "audio/mp3");
$maxSize = 100000000;

function get_extension($filename)
{
    return strtolower(end(explode(".", $filename)));
}

function get_file_path($file)
{
    return UPLOAD_PATH . md5_file($file["tmp_name"]);
}

if (empty($_FILES)) {
    echo "<form enctype='multipart/form-data' action='upload.php' method='post'>\n";
        echo "<input type='hidden' name='MAX_FILE_SIZE' value='$maxSize' >";
        echo "<label>";
            echo "<span>Veldu skrá</span>";
            echo "<input name='file' type='file' required='required'>";
        echo "</label>";
        echo "<input type='submit' value='Senda'>";
    echo "</form>\n";
} else {
    try {
        $extension = get_extension($_FILES["file"]["name"]);
        $mime = $_FILES["file"]["type"];
        $size = (int) $_FILES["file"]["size"];

        if (!in_array($mime, $allowedMimes))
        {
            throw new Exception("Restricted mime type");
        }
        elseif ($size > $maxSize)
        {
            throw new Exception("File too big (max size " . $maxSize . "): " . $size);
        }
        elseif (!in_array($extension, $allowedExts))
        {
            throw new Exception("Restricted extension");
        }
        elseif ($_FILES["file"]["error"] > 0)
        {
            throw new Exception("Upload error with return Code: " . $_FILES["file"]["error"]);
        }
        else
        {
            $path = get_file_path($_FILES["file"]);

            // TODO: Sanitize
            echo "Upload: " . $_FILES["file"]["name"] . "<br>";
            echo "Type: " . $_FILES["file"]["type"] . "<br>";
            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
            echo "Dest path: " . $path;

            if (file_exists($path))
            {
                throw new exception ("A file with this name already exists");
            }
            else
            {
                if(move_uploaded_file($_FILES["file"]["tmp_name"], $path))
                {
                    echo "Stored " . $_FILES["file"]["name"] . " in: " . $path;
                }
                else
                {
                    throw new exception ("Could not receive file");
                }
            }
        }

    } catch (Exception $e) {
        echo $e->getMessage();
    }
}
?>

Er búinn að uploada þessum kóða á serverinn og í hvert skipti sem ég reyni að uploada mp3 skrá, þá kemur bara restricted mime type :-k

En virkar fínt ef ég uploada t.d. png mynd


Bananas

Skjámynd

Stutturdreki
Of mikill frítími
Póstar: 1701
Skráði sig: Þri 27. Apr 2004 14:03
Reputation: 37
Staða: Ótengdur

Re: Búa til upload server

Pósturaf Stutturdreki » Fim 23. Maí 2013 14:50

Það er "audio/mpeg" fyrir mp3



Skjámynd

rango
FanBoy
Póstar: 785
Skráði sig: Lau 14. Júl 2012 22:36
Reputation: 3
Staðsetning: 404 - Location Not found.
Staða: Ótengdur

Re: Búa til upload server

Pósturaf rango » Fim 23. Maí 2013 14:57

mikkidan97 skrifaði:
Maniax skrifaði:Frekar fyndið, Eset Smart Security blockaði á síðuna hjá þér

ESET SMART SECURITY
Access denied
Details:
Web page: http://codw.co.vu
Comment: Access to the web page was blocked by ESET Smart Security. The web page is on the list of websites with potentially dangerous content.

Það er örugglega útaf domaininu :face

Einhverja hluta vegna eru svona security software eitthvað á móti domaininu mínu, þ.e.a.s. þessu domaini, getur prufað codw.co.nr eða flying.2freedom.com (not made by me :-" )

Blockaði líka á síðunna í skólanum hjá mér :-k


Halló godaddy, eða name.com etc.



Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Fim 23. Maí 2013 14:58

Stutturdreki skrifaði:Það er "audio/mpeg" fyrir mp3

Virkaði heldur ekki, þó ég breytti þessu

Og einhverra hluta vegna þá vistar þessi kóði frá kusi ekki skrárnar :-k

rango skrifaði:
mikkidan97 skrifaði:
Maniax skrifaði:Frekar fyndið, Eset Smart Security blockaði á síðuna hjá þér

ESET SMART SECURITY
Access denied
Details:
Web page: http://codw.co.vu
Comment: Access to the web page was blocked by ESET Smart Security. The web page is on the list of websites with potentially dangerous content.

Það er örugglega útaf domaininu :face

Einhverja hluta vegna eru svona security software eitthvað á móti domaininu mínu, þ.e.a.s. þessu domaini, getur prufað codw.co.nr eða flying.2freedom.com (not made by me :-" )

Blockaði líka á síðunna í skólanum hjá mér :-k


Halló godaddy, eða name.com etc.


hehe, það sem ég er með er frítt :megasmile


Bananas


Opes
Geek
Póstar: 809
Skráði sig: Mán 04. Júl 2005 12:02
Reputation: 28
Staða: Ótengdur

Re: Búa til upload server

Pósturaf Opes » Fim 23. Maí 2013 18:57

mikkidan97 skrifaði:Ég kann eiginlega ekkert á php scripting...

Er ekki hægt að fá einhvern til að skrifa svona fyrir sig frítt?



Undirskriftin hjá mikkidan97 skrifaði:If you're good at something, never do it for free


:face



Skjámynd

rango
FanBoy
Póstar: 785
Skráði sig: Lau 14. Júl 2012 22:36
Reputation: 3
Staðsetning: 404 - Location Not found.
Staða: Ótengdur

Re: Búa til upload server

Pósturaf rango » Fim 23. Maí 2013 19:03

Opes skrifaði:
mikkidan97 skrifaði:Ég kann eiginlega ekkert á php scripting...

Er ekki hægt að fá einhvern til að skrifa svona fyrir sig frítt?



Undirskriftin hjá mikkidan97 skrifaði:If you're good at something, never do it for free


:face


Ætlaði að benda honum á þetta, Líka útaf einhverju fríu subdomaini.



Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Fim 23. Maí 2013 19:29

Mynd

Off topic


Bananas

Skjámynd

rango
FanBoy
Póstar: 785
Skráði sig: Lau 14. Júl 2012 22:36
Reputation: 3
Staðsetning: 404 - Location Not found.
Staða: Ótengdur

Re: Búa til upload server

Pósturaf rango » Fim 23. Maí 2013 20:08

mikkidan97 skrifaði:Mynd

Off topic


Við erum búnir að leysa þetta fyrir þig, Frítt í þokkabót.

þetta skot á rétt á sér, "If you're good at something, never do it for free"
Samt keppistu við að nota "free" hluti, Eða fá aðra til að gera hluti free fyrir þig.



Skjámynd

Höfundur
mikkidan97
spjallið.is
Póstar: 406
Skráði sig: Mið 29. Feb 2012 15:48
Reputation: 7
Staðsetning: Keflavík
Hafðu samband:
Staða: Ótengdur

Re: Búa til upload server

Pósturaf mikkidan97 » Fim 23. Maí 2013 20:57

rango skrifaði:
mikkidan97 skrifaði:Mynd

Off topic


Við erum búnir að leysa þetta fyrir þig, Frítt í þokkabót.

þetta skot á rétt á sér, "If you're good at something, never do it for free"
Samt keppistu við að nota "free" hluti, Eða fá aðra til að gera hluti free fyrir þig.

Ég var enda við að segja að kóðinn virkaði ekki.


Bananas

Skjámynd

Yawnk
Vaktari
Póstar: 2038
Skráði sig: Mán 26. Mar 2012 21:26
Reputation: 11
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Búa til upload server

Pósturaf Yawnk » Fim 23. Maí 2013 22:31

mikkidan97 skrifaði:
rango skrifaði:
mikkidan97 skrifaði:Mynd

Off topic


Við erum búnir að leysa þetta fyrir þig, Frítt í þokkabót.

þetta skot á rétt á sér, "If you're good at something, never do it for free"
Samt keppistu við að nota "free" hluti, Eða fá aðra til að gera hluti free fyrir þig.

Ég var enda við að segja að kóðinn virkaði ekki.

úff.. :-"



Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Búa til upload server

Pósturaf dori » Fim 23. Maí 2013 22:31

mikkidan97 skrifaði:Ég var enda við að segja að kóðinn virkaði ekki.
Kóðinn virkar alveg. Þú virðist ekki hafa næga þekkingu til að bilanagreina þetta almennilega. Kóðinn virkar en fyrst skjölin eru ekki búin til þín megin þá er eitthvað vesen með uppsetninguna þína.

En það er ólíklegt að það sé vandamálið þar sem move_uploaded_file aðgerðin skilar true. Það væri hrikalega slakt ef PHP myndi ekki gera þessa basic hluti rétt.

Byrjaðu á því að læra á t.d. Kahn Academy https://www.khanacademy.org/cs/tutorial ... ing-basics