/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvorfor virker det ikke?
Fra : Rado


Dato : 26-07-09 14:15



Kan nogen sige mig hvorfor hverken Size Condition eller File Type
Condition koden virker i det her script?

Det uploader gladeligt alle filer uanset om de overskrider den angivne
størrelse, eller har .php endelse.

Det alternative NOT filter:

// if (!($uploaded_type=="image/jpeg" OR $uploaded_type=="image/gif"))

har den stik modsatte effekt - her nægter scriptet at uploade noget
som helst, heller ikke jpg eller gif filer.

---------------------------

<?php
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;

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

//This is our limit file type condition
if ($uploaded_type=="text/php")

// if (!($uploaded_type=="image/jpeg" OR $uploaded_type=="image/gif"))
{
echo "Only JPG and GIF files allowed<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['uploaded']['name']). " has been
uploaded";
}
else
{
echo "Sorry, there was a problem uploading your file.";
}
}
?>


--
Rado

All the answers are already within us. It's finding the corresponding
questions that's so darned difficult. - Swami Beyondananda

 
 
Mads Lie Jensen (26-07-2009)
Kommentar
Fra : Mads Lie Jensen


Dato : 26-07-09 14:22

On Sun, 26 Jul 2009 15:14:36 +0200, Rado <rado@fjernpost1.tele.dk>
wrote:

><?php
>$target = "upload/";
>$target = $target . basename( $_FILES['uploaded']['name']) ;
>$ok=1;
>
>//This is our size condition
>if ($uploaded_size > 350000)

Hvor får du $uploaded_size fra?
Og hvad indeholder den?
(Mit gæt er den ikke er sat og derfor er 0)

>//This is our limit file type condition
>if ($uploaded_type=="text/php")

Og hvor kommer $uploaded_type fra? Og hvad indeholder den?
(Mit gæt er også her at den ikke er sat og derfor er tom.)

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/

Rado (26-07-2009)
Kommentar
Fra : Rado


Dato : 26-07-09 14:43

On Sun, 26 Jul 2009 15:22:04 +0200, Mads Lie Jensen
<mads@gartneriet.dk> wrote:

>On Sun, 26 Jul 2009 15:14:36 +0200, Rado <rado@fjernpost1.tele.dk>
>wrote:
>
>><?php
>>$target = "upload/";
>>$target = $target . basename( $_FILES['uploaded']['name']) ;
>>$ok=1;
>>
>>//This is our size condition
>>if ($uploaded_size > 350000)
>
>Hvor får du $uploaded_size fra?
>Og hvad indeholder den?
>(Mit gæt er den ikke er sat og derfor er 0)
>
>>//This is our limit file type condition
>>if ($uploaded_type=="text/php")
>
>Og hvor kommer $uploaded_type fra? Og hvad indeholder den?
>(Mit gæt er også her at den ikke er sat og derfor er tom.)

OK - jeg er ikke særlig godt inde i PHP - det var et script jeg fandt
på nettet og ud fra teksten art dømme skulle det virke som det er
(bortset fra en enkelt bug jeg måtte rette - "uploadedfile" skal
rettes til "uploaded"):

http://php.about.com/od/advancedphp/ss/php_file_upload.htm



--
Rado

All the answers are already within us. It's finding the corresponding
questions that's so darned difficult. - Swami Beyondananda

Leif Neland (26-07-2009)
Kommentar
Fra : Leif Neland


Dato : 26-07-09 16:31

Rado skrev:
>>
>>> //This is our limit file type condition
>>> if ($uploaded_type=="text/php")
>> Og hvor kommer $uploaded_type fra? Og hvad indeholder den?
>> (Mit gæt er også her at den ikke er sat og derfor er tom.)
>
> OK - jeg er ikke særlig godt inde i PHP - det var et script jeg fandt
> på nettet og ud fra teksten art dømme skulle det virke som det er
> (bortset fra en enkelt bug jeg måtte rette - "uploadedfile" skal
> rettes til "uploaded"):
>
> http://php.about.com/od/advancedphp/ss/php_file_upload.htm
>
>
Det er også unfair, når man prøver at lære noget, og der så er fejl i
lærebogen

Variablene $uploaded_type og ..size er ikke sat.

Her er et eksempel, der ser ud til at virke:

http://www.w3schools.com/PHP/php_file_upload.asp

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>

$_FILES["file"] skal passe med navnet på upload-feltet i din form; du
bruger "uploaded" i stedet for "file", så du skal skrive
$_FILES['uploaded'] i stedet.

Leif



Rado (26-07-2009)
Kommentar
Fra : Rado


Dato : 26-07-09 17:29

On Sun, 26 Jul 2009 17:31:18 +0200, Leif Neland <leif@neland.dk>
wrote:


>>
>Det er også unfair, når man prøver at lære noget, og der så er fejl i
>lærebogen

Ja, det sker desværre ikke helt sjældent.

>
>Variablene $uploaded_type og ..size er ikke sat.
>
>Her er et eksempel, der ser ud til at virke:
>
>http://www.w3schools.com/PHP/php_file_upload.asp

Jeg prøver at kigge på det.

Mange tak!



--
Rado

All the answers are already within us. It's finding the corresponding
questions that's so darned difficult. - Swami Beyondananda

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409074
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste