Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 08.02.2017., 00:20   #1
PHP pomoc

U kodu ispod je upload scripta filea na server,koja ne podrzava uploadiranje php file.a, a ja bi htio da mogu uploadirati na server samo 2 pdf file-a npr. test.pdf i test1.pdf
volio bi da recimo kad se ide uploadirati bilo koji drugi file (a da nije test.pdf i test1.pdf ) da izbaci neki error npr. file nije podrzan, ne znam moze li netko pomoci.
<?php
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;

//This is our size condition
if ($uploaded_size > 350000000)
{
echo "Your file is too large.<br>";
$ok=0;
}

//This is our limit file type condition
if ($uploaded_type =="text/php")
{
echo "No PHP files<br>";
$ok=0;
}

//Here we check that $ok was not set to 0 by an error
if ($ok==0)
{
Echo "Sorry your file was not uploaded";
}

//If everything is ok we try to upload it
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
}
else
{
echo "Sorry, there was a problem uploading your file.";
}
}
?>
mastermax is offline  
Odgovori s citatom
Old 09.02.2017., 19:58   #2
Prvo, koristi tagove za kod jer je ovo nečitljivo.

Drugo, odakle je varijabla $uploaded_type? Ako je iz $_FILES, to nije pouzdano
To se radi ovako (jedan od načina):

PHP Code:
$finfo finfo_open(FILEINFO_MIME_TYPE);
$uploaded_type finfo_file($finfo$_FILES['uploaded']['tmp_name']); 
Treće, "text/php" nije jedini mogući mime type php file-a. Dodatni problem je što i php nije jedina moguća ekstenzija.

Četvrto, nikad nije pametno spremiti file pod imenom pod kojim je uploadan.

Peto, za konkretni slučaj, provjeri da li je basename( $_FILES['uploaded']['name']) jednak "test.pdf" ili "test1.pdf", te provjeri na gore opisan način da li je mime type application/pdf. Eventualno možeš dopustiti i application/x-pdf (više se ne koristi, ali se zna naletiti).
MrBlc is offline  
Odgovori s citatom
Odgovor



Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 01:08.