file type php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Jerry php

Jerry php

19/04/2012 10:40:23
Quote Anchor link
Beste php'ers,

ik ben een film database aan het maken voor intern gebruik, maar nu kom ik tegen het volgende probleem aan.

Als ik een mp4 filmpje wil uploaden accepteert hij het niet, enkel als ik een jpg plaatje doet, accepteert hij het wel. hier de code:

form
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<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>



upload_file.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
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"] / 10240000000000) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }


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

  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"] / 10240000000000) . " 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";
  }

?>
 
PHP hulp

PHP hulp

23/12/2024 19:10:53
 
Reshad F

Reshad F

19/04/2012 10:42:42
Quote Anchor link
en wat is de error die je krijgt?
 
Jerry php

Jerry php

19/04/2012 10:47:49
Quote Anchor link
Error: 1
Invalid file
 
Q S

Q S

19/04/2012 11:04:12
Quote Anchor link
Hoeveel mag je maximaal uploaden volgens php.ini? Standaard is dit namelijk 10 MB.
 
Jerry php

Jerry php

19/04/2012 11:07:11
Quote Anchor link
Nouja, ik heb dat verandert, heb er gewoon wat nulletjes achter gezet. Maar ookal gebruik ik een ander bestand. (bijv. .docx) dan kan ik hem ook niet uploaden
 
Q S

Q S

19/04/2012 11:13:38
Quote Anchor link
docx mag niet volgens jou script dus dat zou op zich nog kunnen of heb je dat aangepast?
 
Jerry php

Jerry php

19/04/2012 11:14:26
Quote Anchor link
Ik heb het inderdaad aangepast. Ik had toestraks een file erbij gezet:
|| ($_FILES["file"]["type"] == "document/docx"))

Maar ook dat deed hij niet
 
Q S

Q S

19/04/2012 11:57:25
Quote Anchor link
Ik denk dat het met mime types te maken heeft die je browser mee stuurt.
Haal het hele stuk waarmee je op file type controleert eens weg en kijk dan eens wat er gebeurd
 
Jerry php

Jerry php

19/04/2012 12:09:45
Quote Anchor link
Ik heb heel het stukje weggehaald, maar nu krijg ik deze melding:
Parse error: syntax error, unexpected T_ELSE in C:\test\upload_file.php on line 37

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
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"] / 10240000000000) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }



  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"] / 10240000000000) . " 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";
  }

?>
 
Teun Hesseling

Teun Hesseling

19/04/2012 12:17:30
Quote Anchor link
opzich wel logisch toch, als je die if weg haald van het checken van de file en de else niet weg haald.
 
Q S

Q S

19/04/2012 12:31:09
Quote Anchor link
Ik bedoelde zo

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
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"] / 10240000000000) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }


if (($_FILES["file"]["size"] < 200000000))
  {

  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"] / 10240000000000) . " 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";
  }

?>
 
Jerry php

Jerry php

19/04/2012 12:31:36
Quote Anchor link
Klopt, mijn fout!
Maar als ik nu een mp4 opload, krijg ik dit:


Error: 1
Return Code: 1

Toevoeging op 19/04/2012 12:52:19:

Q S, ook dan krijg ik dezelfde foutmelding:
Error: 1
Return Code: 1
 
Q S

Q S

19/04/2012 13:16:15
Quote Anchor link
Hoe staat je POST_MAX ingesteld in je php.ini?
 
Jerry php

Jerry php

19/04/2012 13:31:03
Quote Anchor link
post_max_size = 8M
 
Jurgen B

Jurgen B

19/04/2012 13:37:12
Quote Anchor link
En hoe groot is je MP4?;) Zie ook: http://php.net/manual/en/features.file-upload.errors.php
Gewijzigd op 19/04/2012 13:37:57 door Jurgen B
 
Jerry php

Jerry php

19/04/2012 13:56:55
Quote Anchor link
Oke, ik heb de php.ini aangepast, maar ik krijg nog steeds dezelfde meldingen.. Als ik btw een .mov doe, dan lukt het wel. Doe ik een .mov van 350mb dan krijg ik allemaal rare meldingen.. Ik ben radeloos! Wie helpt mij uit de sloot?
 
Chris -

Chris -

19/04/2012 13:57:53
Quote Anchor link
Even voor de duidelijkheid, vertrouw uploads nooit op basis van een MIME-type. Deze zijn namelijk browser afhankelijk en kunnen worden veranderd door de gebruiker. Dat wilt zeggen dat ik een PHP bestand kan uploaden terwijl jouw pagina denkt dat het een jpg is. Gevaar is dus dat ik het PHP bestand kan oproepen en jouw gehele website om zeep kan helpen.

Baseer het dus o.a. op basis van extensies.
 
Q S

Q S

19/04/2012 14:09:54
Quote Anchor link
@Chris, goede tip!

@Jerry, welke meldingen krijg je nu dan? Ik kan me voorstellen dat het uploaden van het bestand teveel tijd gaat kosten dus ik vermoed dat de meldingen daar mee te maken hebben.
 
Jerry php

Jerry php

19/04/2012 14:11:44
Quote Anchor link
@chris Inderdaad goede tip, maar het gaat nu niet echt om het feit dat het veilig is. Het is namelijk een bedrijfs website (intern) en daar komt niemand van buitenaf op. Maar het gaat er mij eigenlijk nu meer om, dat ik mijn mp4 bestanden kan uploaden.

@Jurgen, nog precies dezelfde melding als ik die mp4 upload.
Gewijzigd op 19/04/2012 14:30:21 door Jerry php
 
Jurgen B

Jurgen B

19/04/2012 14:19:39
Quote Anchor link
Heb je de server opnieuw gestart na het aanpassen van de .ini?
 
Jerry php

Jerry php

19/04/2012 14:30:35
Quote Anchor link
Ja, dat heb ik inmiddels ook al gedaan.
Maar nog steeds deze melding wanneer ik een mp4 wil uploaden.
Error: 1
Return Code: 1
Gewijzigd op 19/04/2012 14:31:29 door Jerry php
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.