Video's uploaden script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin Zegikniet

Kevin Zegikniet

06/02/2013 14:50:59
Quote Anchor link
Hallo mensen,

ik heb een script om filmpjes te uploaden (alleen mp4-tjes, maar meer hoeft ook niet).
Ik heb vier bestanden in .mp4 vorm.

Een ervan wil uploaden, de andere drie krijgen via onderstaand script een "Verkeerde bestand" error.
De grootten van de bestanden zijn:
3.606 kB (wil wel uploaden)
23.700 kB
28.335 kB
299.037 kB
De laatste drie willen dus niet uploaden.

Help?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
IK HEB DIT SCRIPT VERWIJDERD, OMDAT ER AL AANPASSINGEN IN ZIJN GEMAAKT. VOOR HET ACTUEESTE (!) SCRIPT, ZIE BIJ DE LAATSTE POSTS!
ALVAST BEDANKT!
Gewijzigd op 07/02/2013 20:19:35 door Kevin Zegikniet
 
PHP hulp

PHP hulp

29/03/2024 01:47:18
 
Kris Peeters

Kris Peeters

06/02/2013 14:57:36
Quote Anchor link
Misschien is dit een instelling in php.ini

Zie eens naar deze settings (maar dan evt. met andere cijfers):

php_value upload_max_filesize 10M
php_value post_max_size 20M
Gewijzigd op 06/02/2013 14:58:09 door Kris Peeters
 
Kevin Zegikniet

Kevin Zegikniet

06/02/2013 20:18:49
Quote Anchor link
Ten eerste, als ik via Ctrl+F naar "php_value" zoek, krijg ik geen resultaten.
Ten tweede, die instellingen had ik ook al gewijzigd, naar beide 3200M.
NB: ze staan wel in omgekeerde volgorde in mijn php.ini

Ik zal het nog eens proberen.

EDIT: Het lukt nu wel, met een ander filmpje van 12.468 kB aan grootte.
EDIT: Het volgende filmpje van 432 MB lukt weer niet, met een "Verkeerd bestand" error...
EDIT: Ook als ik bij beide getallen er drie nullen tussen zet (3.200.000 maar dan zonder de puntjes) lukt het nog niet.
Gewijzigd op 06/02/2013 20:34:50 door Kevin Zegikniet
 
Obelix Idefix

Obelix Idefix

06/02/2013 20:51:55
Quote Anchor link
Kan het zijn dat je host een grens stelt?
 
Kevin Zegikniet

Kevin Zegikniet

06/02/2013 20:54:35
Quote Anchor link
Dat lijkt me niet, omdat ik de host ben. Ik gebruik namelijk XAMPP
(en later moet ik voor de opdracht LAMPP op UBUNTU gebruiken, maar ik denk dat ik dan gewoon de php.ini zo aanpas naar degene die hier uiteindelijk gaat werken) op mijn eigen computer.

Of is er dan automatisch een of andere grens ingesteld die ik nog niet heb aangepast?
 
- SanThe -

- SanThe -

06/02/2013 22:35:59
Quote Anchor link
Als je php.ini wijzigt moet je Apache altijd opnieuw opstarten.
 
Bernhard Flokstra

Bernhard Flokstra

07/02/2013 10:45:01
Quote Anchor link
Hoi Kevin,

Standaard is de maximale upload_max_filesize 8M. upload_max_filesize is de php instelling die regelt hoe groot een bestand maximaal mag zijh als je deze upload. post_max_size is de maximale grote dat een POST request (dus een formulier dat je naar de website verstuurd zijn mag. Standaard is dit ook 8M. Je zal deze waardes moeten aanpassen naar een waarde die groot genoeg is om je video's te kunnen uploaden. Tevens moet je een controle in je uploadscript maken die controleerd of het bestand groter is dan de maximale grote.
Het kan ook zijn dat je memory_limit moet aanpassen naar een hoger aantal bytes. memory_limit is de hoeveelheid geheugen die een script mag gebruiken.

Nadat je een instelling in php.ini hebt aangepast moet je apache herstarten of herladen. Anders worden de nieuwe instellingen niet gebruikt.

Bedenk wel dat een bestand van 400MB uploaden via de browser tijd zal kosten he. houd daar rekening mee.
 
Kevin Zegikniet

Kevin Zegikniet

07/02/2013 13:43:41
Quote Anchor link
Aha, dat opnieuw opstarten (ook al klinkt het zeer logisch) had ik zelf niet bedacht...
Heb ik dus net even geprobeerd, met nog steeds dezelfde error.

Ik zal eens kijken of die memory_limit nut heeft.

En het bestand van 23 kB wil dus niet (kleinste bestand wat niet wil). ik zal eens kijken of ik kan uitpuzzelen bij welke grootte de grens ligt.

EDIT: ik heb memory_limit van 32M naar 3200M veranderd.
Geen enkel filmpje wil nu nog uploaden, zelfs het filmpje wat eerst werkte mislukt nu.

Als ik het script dan bekijk, zit de fout dus ergens in de eerste paar regels.
Gewijzigd op 07/02/2013 13:47:03 door Kevin Zegikniet
 
Kris Peeters

Kris Peeters

07/02/2013 14:25:13
Quote Anchor link
Kevin Zegikniet op 07/02/2013 13:43:41:
Als ik het script dan bekijk, zit de fout dus ergens in de eerste paar regels.


O ja; je houdt geen rekening met de volgorde van de operatoren. && gaat voor op ||.

dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(($_FILES["file"]["type"] == "video/mp4") || ($_FILES["file"]["type"] == "video/flv") && ($_FILES["file"]["size"] < 5000000000))
?>

Betekent:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (
  (
$_FILES["file"]["type"] == "video/mp4")
  || ( (
$_FILES["file"]["type"] == "video/flv") && ($_FILES["file"]["size"] < 5000000000) )
)

?>


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

Wat jij echter wil, is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if (
  ((
$_FILES["file"]["type"] == "video/mp4") || ($_FILES["file"]["type"] == "video/flv"))
  && (
$_FILES["file"]["size"] < 5000000000)
  &&
in_array($extension, $allowedExts)
)

?>


Of daarmee alles opgelost is, weet ik niet, maar 't is zeker een goed begin.
Gewijzigd op 07/02/2013 14:29:06 door Kris Peeters
 
Kevin Zegikniet

Kevin Zegikniet

07/02/2013 15:15:52
Quote Anchor link
Daar zit opzich wat in.
Ik zal het vanavond even proberen, nu heb ik geen tijd.
Ik post wel even wat het resultaat is.

EDIT: hij wil nu het filmpje van 12kB ook uploaden. Verder nog niks...

Toevoeging op 07/02/2013 20:18:22:

Ik heb nog een ander script wat niet zoveel verschilt.
Die wil ook beide kleine filmpjes (3.606 kB en 12.468 kB) uploaden, maar bij het filmpje van 23.700 KB zegt 'ie heel snel: invalid file.
Ik gebruik trouwens google Chrome. Verschilt het iets met Firefox, wat ik ook gebruik?
Ik zal het zelf ook even testen.

Het andere script:
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
<?php
//image types and file size
if ( ( ($_FILES["file"]["type"] == "video/mpeg")
|| (
$_FILES["file"]["type"] == "video/mp4")
|| (
$_FILES["file"]["type"] == "video/flv")
|| (
$_FILES["file"]["type"] == "video/wmv") )
&& (
$_FILES["file"]["size"] < 2000000000)) //2.000.000.000 = 2GB
{

if ($_FILES["file"]["error"] > 0)
    {
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}
else
    { //temporary storage
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
echo $_FILES["file"]["name"] . " already exists. "; }
    else
        {
        //storage of file
        move_uploaded_file($_FILES["file"]["tmp_name"],
        "uploads2/" . $_FILES["file"]["name"]);
        echo "Stored in: " . "uploads2/" . $_FILES["file"]["name"];
}
}
}

else
{
echo "<a href='javascript:history.back()'>Invalid file!</a><br />";
}

?>


Het eerste script, met wijzigingen:
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
<?php
$allowedExts
= array("mp4", "flv");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (
        ( (
$_FILES["file"]["type"] == "video/mp4") || ($_FILES["file"]["type"] == "video/flv") )
    && (
$_FILES["file"]["size"] < 5000000000) //5.000.000.000 = 5GB
    && in_array($extension, $allowedExts) )

    {

  if ($_FILES["file"]["error"] > 0)
    {

    echo "Error upload: " . $_FILES["file"]["error"] . "<br>";
    }

  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Grootte: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";

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

      echo $_FILES["file"]["name"] . " bestaat al. ";
      }

    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "uploads/" . $_FILES["file"]["name"]);
      echo "Opgeslagen in: " . "uploads/" . $_FILES["file"]["name"];
    } } }

else
  {   echo "<a href='javascript:history.back()'>Verkeerde bestand!</a><br />";   }
?>


Toevoeging op 07/02/2013 21:05:14:

Gechecked: firefox maakt geen verschil.
Ik denk dat het 'm wel in de groottes ligt. ik zal eens kijken of ik ergens een filmpje van ongeveer 16 kB kan vinden en daarmee testen.
Gewijzigd op 07/02/2013 20:21:18 door Kevin Zegikniet
 
- SanThe -

- SanThe -

07/02/2013 21:11:01
Quote Anchor link
Kevin Zegikniet op 06/02/2013 20:18:49:
EDIT: Het volgende filmpje van 432 MB lukt weer niet, met een "Verkeerd bestand" error...


Weet je hoe lang dat zou gaan duren.
Daar heb je FTP voor.
 



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.