Jump to content
php.lv forumi

php file upload


student

Recommended Posts

Jau 3ais topiks šovakar,bet gan jau serveri nepārkarsīs:))

Es nokopēju visus datus no adreses-

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

kur ir parādīts kā ievietot iekšā mapē upload bildes utt.Man viss aiziet un darbojas,bet apstājos pie kaut kādas bezjēdzības.

Varu ievietot tikai dažas jpg bildes un gandrīz visām rādās invalid file.Pieļaujamo izmēru esmu mainījis.

Kāds var to papētīt un pateikt kādēļ iet tikai retās jpg bildes.

 

<html>

<body>

 

<form action="upload_file.php" method="post"

enctype="multipart/form-data">

<label for="file">Filename:</label>

<input type="file" name="file" id="file" />

<br />

<input type="submit" name="submit" value="Submit" />

</form>

 

</body>

</html>

 

<?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 "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

 

if (file_exists("upload/" . $_FILES["file"]["name"]))

{

echo $_FILES["file"]["name"] . " already exists. ";

}

else

{

move_uploaded_file($_FILES["file"]["tmp_name"],

"upload/" . $_FILES["file"]["name"]);

echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

}

}

}

else

{

echo "Invalid file";

}

?>

Link to comment
Share on other sites

Mācies atkļūdot pats savu kodu.

1. Ja tu redzi ka rāda invalid file, tas nozīmē ka sis IFs neizpildās

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))

2. Tātad tu redzi ka vainu kļūda faila izmērā vai mime tipā.

3. Nutad paskaties kādus tiešu datus tev rāda

print_r($_FILES["file"])

4. Un ja netiec galā tad griezies jau te ar konkrētu problēmu, un saki ka jpeg bildei type uzrādā image/poo nevis image/jpeg, ko dariit?

Edited by Blitz
Link to comment
Share on other sites

Ok.Tagad uzdošu konkrētāk.

 

Ja es atrodu reto bildi,kuru var aizsūtīt uz upload tad man izvadās šāds print_r($_FILES["file"]):

Array ( [name] => 002.JPG [type] => image/jpeg [tmp_name] => C:\wamp\tmp\php18D.tmp [error] => 0 => 1645268 )

 

Bet ja man ir kārtējā bilde ar savu invalid file tad man izvadās šāds print_r($_FILES["file"]):

Array ( [name] => 016.JPG [type] => [tmp_name] => [error] => 1 => 0 )

 

Tagad varētu palīdzēt ar kļudas meklēšanu?

Link to comment
Share on other sites

Tu redzi ka error ir 1. Tad tu ieej šeit http://php.net/manual/en/features.file-upload.errors.php un redzi ka tur stāv rakstīts ka Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini. kas savukārt nozīmē ka PHP neatlauj tik lielu failu augšuplādēt. To vari regulēt gan php.ini "upload_max_filesize = 10M", gan skripta sākumā ieliekot ini_set("upload_max_filesize","10M");

Parbaudīt kāda vērtība šobrīd ir aktīva vari ar echo ini_get("upload_max_filesize");

 

Labojot php.ini jaatceras ka webserveris ir jāpārstartē.

Edited by Blitz
Link to comment
Share on other sites

Skaidrs.Tad varētu man palīdzēt izveidot līdz galam to kodu,jo kad es arī ielieku tieši pēc

<?php

ini_set("upload_max_filesize","10M");

...

Un izdzēšu to rindu ar

($_FILES["file"]["size"] < 1000000000000000000)

 

Un vēl pielieku

echo ini_get("upload_max_filesize");

 

Tad man izvadās šādi

 

Invalid file

Array ( [name] => 016.JPG [type] => [tmp_name] => [error] => 1 => 0 )

2M

 

Tad ko tur vēl darīt?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...