[php] Heel vreemd upload probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Hallo,

Ik ben bezig met een script waarmee je films kan uploaden. De volgende code gebruik ik hier onder andere voor (flink vereenvoudigd):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
echo '<pre>';
print_r($_FILES);
echo '</pre>';

if($_FILES['file']['error'] == UPLOAD_ERR_OK)
{
    if(is_uploaded_file($_FILES['file']['tmp_name']))
        move_uploaded_file($_FILES['file']['tmp_name'], $config->photobook['photos_tmp_path'].'/'.$_FILES['file']['name']);
}

echo '<form method="post" action="index.php?page=uploadtest" enctype="multipart/form-data">';
echo '<input type="file" name="file" style="width:auto">';
echo '<br>';
echo '<input type="submit" style="width:auto">';
echo '</form>';
?>


Wanneer ik een klein bestand upload is er niets aan de hand maar wanneer ik een groot bestand wil gaan uploaden gaat het mis. De bestandsgroottes komen wel overeen (die van de film op mijn computer en op de server). De bestanden lijken wel corrupt.

Wat kan hier aan de hand zijn?

Acties:
  • 0 Henk 'm!

  • praseodymium
  • Registratie: Februari 2004
  • Laatst online: 20-09 20:01
Misschien een probleem met de PHP file upload limits.

Check eens wat phpinfo() hierover zegt.

Acties:
  • 0 Henk 'm!

Verwijderd

Hoe groot is groot?

Standaard heeft php een maximum van 2MB.. In te stellen in je php.ini.
Echter als het gaat om een bestand van bijv. 700 MB zal je dat waarschijnlijk nooit goed gaan lukken via een web upload formulier.

(Als ik het me goed herinner kun je 3 waardes instellen in je php.ini
1] max file size
2] max execution time
3] max upload file size?? .... Zoiets...

Mocht je dit al kunnen instellen op 700 MB, bij een kleine time-out kun je weer opnieuw beginnen met uploaden.. (geen resume mogelijkheid).

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

daar heb je weinig mee te maken omdat tijdens het uploaden het script nog niet draait :)
wat je waarschijnlijk bedoeld is max_input_time.

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Het bestand is 6 MB groot maar bestanden tot 24 MB moeten kunnen

memory_limit = 64M
post_max_size = 24M
upload_max_filesize = 24M

meer kan ik niet vinden in de phpinfo info

Dit is trouwens de uitvoor van de $_FILES variabele:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [file] => Array
        (
            [name] => 1.mpeg
            [type] => video/mpeg
            [tmp_name] => /tmp/phpjb7aJU
            [error] => 0
            [size] => 5903439
        )

)

[ Voor 45% gewijzigd door Slagroom op 22-06-2006 14:03 ]


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 16:30

TheDane

1.618

Is het filesystem waar /tmp op staat vol?
Is het filesystem waar je bestand uiteindelijk terecht komt vol?

Wat zegt je error_log?

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Nee, beide hebben nog 3,45 GB vrij en in de error logs staat niets vreemds

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ik heb nu deze hele riedel aan config opties aan mijn vhost toegevoegd:
code:
1
2
3
4
5
6
7
php_admin_flag file_uploads ON
php_admin_value post_max_size 1000M
php_admin_value upload_max_filesize 1000M
php_admin_value max_execution_time 0
php_admin_value max_input_time 0
php_admin_value memory_limit 32M
LimitRequestBody 1099511627776

en nog werkt het niet :'(

Acties:
  • 0 Henk 'm!

  • Upsal
  • Registratie: Mei 2005
  • Laatst online: 27-08-2024
Hoe zit het met je destination-map, is deze correct en heeft deze de juiste CHMOD waarde?

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Yup, de map is ge-chmod 777'd. Hij komt ook wel in de map te staan maar hij is alleen corrupt

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ik kom er achter dat slechts 1 bestandje dit probleem geeft (1.mpeg) en anderen niet, zowel grotere als kleinere bestanden.

Waar kan die in vredesnaam aan liggen? Een bestandje is toch een bestandje?

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Slagroom schreef op donderdag 22 juni 2006 @ 15:09:
Ik kom er achter dat slechts 1 bestandje dit probleem geeft (1.mpeg) en anderen niet, zowel grotere als kleinere bestanden.

Waar kan die in vredesnaam aan liggen? Een bestandje is toch een bestandje?
Wat zijn de bestanden die het wel doen? (Naam, extensie, mime-type, grootte)

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Deze werkt niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [file] => Array
        (
            [name] => 1.mpeg
            [type] => video/mpeg
            [tmp_name] => /tmp/phpjb7aJU
            [error] => 0
            [size] => 5903439
        )

)

Deze werkt wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [file] => Array
        (
            [name] => ali_g_talks_with_religious_experts.wmv
            [type] => video/x-ms-wmv
            [tmp_name] => /tmp/phpE8vbkS
            [error] => 0
            [size] => 8951512
        )

)

Acties:
  • 0 Henk 'm!

  • Tys
  • Registratie: Januari 2003
  • Laatst online: 15:11

Tys

Misschien is 1.mpg ook echt gewoon corrupt?

My flight statistics: (444.803km in 120 flights) Next trips: Rome (Italy)


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Nope, lokaal werkt hij gewoon.

Acties:
  • 0 Henk 'm!

  • lammert
  • Registratie: Maart 2004
  • Laatst online: 03-09 11:50
Probeer eens om de ge-uploade versie weer terug naar lokaal te kopieren om te kijken of ie dan nog steeds corrupt is. Zoniet, dan ligt het waarschijnlijk aan de codecs op de server.

@ Erkens hieronder: ik was wat onduidelijk idd, maar ik bedoelde de codecs waarmee hij het filmpje terug probeert te kijken na het uploaden, of dat nou op zn server is of elders doet er niet zoveel toe.

[ Voor 37% gewijzigd door lammert op 24-06-2006 00:02 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Lammert schreef op vrijdag 23 juni 2006 @ 12:04:
Probeer eens om de ge-uploade versie weer terug naar lokaal te kopieren om te kijken of ie dan nog steeds corrupt is. Zoniet, dan ligt het waarschijnlijk aan de codecs op de server.
ehm, de server heeft helemaal niks met codecs te maken ;)

Acties:
  • 0 Henk 'm!

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
mss is die .mpg-file geen echte .mpg-file maar een renamed .divx-file ofzo...

doordat je lokale OS/programma's niet naar de extensie kijken (of enkel om het juiste ge-associeerde programma op te starten) wordt daar telkens wel de juiste codec geladen doordat de eerste (of laatste) zoveel bytes van de file dit verraden. ('k noem het effe de 'headers')

Doordat je op je server een .mpg forceert naar een mpg-bestand met zulke headers kan daar de fout gebeuren: de file heeft nu wellicht wel een .mpg-header maar nog altijd een niet .mpg-gecodeerde-inhoud. zodat je programma niet meer de juiste codec kan selecteren...

dus vergelijk ev. eens byte-gewijs de headers van de file. Wellicht zit daar een fout in.

of kies voor het downloaden telkens een niet bestaand type om een download te forceren als binair bestand...

(hopelijk duidelijk genoeg om iets te doen opklaren)

Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Hier dacht ik ook aan, temeer omdat de TS geen info geeft ivm de feiten waarom hij er van uitgaat dat er iets misgaat. Ik vermoed dat ie na de upload probeert te downloaden/streamen via z'n webapp en dat dit niet werkt als voorzien?

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Het is de bedoeling dat het bestand later gedownload kan worden, het zei in een player of naar je desktop.

De film is in het formaat H.264 en ACC.

Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Waaruit leidt je af dat het bestand corrupt is? Ik ken niets van videobestanden, maar H264-codec lijkt me iets anders dan een mpeg-codec. (zie opm. soulrider; je hebt verschillende 'versies' mpeg)

[ Voor 11% gewijzigd door moozzuzz op 23-06-2006 17:44 ]


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
http://www.apple.com/quicktime/technologies/h264/

MPEG-4, is dat al een beetje ingeburgerd?

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Het gaat er niet om of het ingeburgerd is of niet, het kan gewoon een fout in je mime-type zijn. Als je die verkeerd uitleest, of verkeerd herschrijft in bepaalde gevallen (want x-ms-wmv doet het wel maar een mpeg niet) krijg je dus problemen.

Ik neem aan dat je de mime-types opvraagt met mime_content_type()? Kijk anders op http://nl2.php.net/manual...me-content-type.php#47246 en lees de onderste reacties over mime-type. Het kan zijn dat daar de fout zit.

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ik doe helemaal niets met de mimi types (zie mijn start-topic). Vreemd genoeg pakt hij dat ene bestandje niet en alle anderen wel...

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Niemand? Of geef ik te weinig zinnige informatie om tot een verklaring te komen?

Acties:
  • 0 Henk 'm!

  • El_kingo
  • Registratie: Mei 2002
  • Laatst online: 17-03 11:17
En als je de files vergelijkt met diff? (er vanuit gaande dat je linux draait, hoewel er vast ook wel zoiets onders windows bestaat) Geeft dit verschillen of zijn ze exact gelijk?
Pagina: 1