Forum » Izdelava spletišč » PHP upload obrazec včasih dela, včasih ne?
PHP upload obrazec včasih dela, včasih ne?
Housy ::
Zdravo
Spisat skušam obrazec za nalaganje datotek, ki včasih dela, včasih pa ne. Kako je to sploh možno?
Lahko nekdo prosim pregleda kodo in prosim pove, kaj delam narobe? Delam pa to kr preko Wampa na svojem računalniku.
Hvala in lp,
Housy
Spisat skušam obrazec za nalaganje datotek, ki včasih dela, včasih pa ne. Kako je to sploh možno?
Lahko nekdo prosim pregleda kodo in prosim pove, kaj delam narobe? Delam pa to kr preko Wampa na svojem računalniku.
<?php if(isset($_POST["upload"])) { // VARIABLES // default values $error_msg = ""; $error = false; // SUPPORTED FILE EXTENSIONS // users can upload only MP3 files $allowed_ext = array("audio/mp3"); if(in_array($_FILES["song"]["type"], $allowed_ext)) { $error = false; } else { $error = true; $error_msg .= "<p style='color: red'>You can upload only files with .mp3 extension!</p>"; } // SUPPORTED FILE SIZE // max file upload size is 12 MB if($_FILES["song"]["size"] <= 12582912) { $error = false; } else { $error = true; $error_msg .= "<p style='color: red'>Maximum upload file size is 12 MB!</p>"; } if($error) echo $error_msg; } ?>
Hvala in lp,
Housy
Housy ::
V apache error logu so naslednje napake:
[Sat Jul 27 12:42:52.996866 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:50925] PHP Notice: Undefined index: file in C:\\wamp\\www\\sound\\index.php on line 5, referer: http://localhost/sound/index.php
[Sat Jul 27 12:42:52.996866 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:50925] PHP Stack trace:, referer: http://localhost/sound/index.php
[Sat Jul 27 12:42:52.996866 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:50925] PHP 1. {main}() C:\\wamp\\www\\sound\\index.php:0, referer: http://localhost/sound/index.php
[Sat Jul 27 12:45:54.740261 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:50937] PHP Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\\wamp\\www\\sound\\index.php on line 18
[Sat Jul 27 12:51:59.970151 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP Warning: POST Content-Length of 44707167 bytes exceeds the limit of 31457280 bytes in Unknown on line 0, referer: http://localhost/sound/index.php
[Sat Jul 27 12:52:05.137446 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP Notice: Array to string conversion in C:\\wamp\\www\\sound\\index.php on line 15, referer: http://localhost/sound/index.php
[Sat Jul 27 12:52:05.138446 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP Stack trace:, referer: http://localhost/sound/index.php
[Sat Jul 27 12:52:05.138446 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP 1. {main}() C:\\wamp\\www\\sound\\index.php:0, referer: http://localhost/sound/index.php
[Sat Jul 27 12:53:22.310860 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51037] PHP Notice: Undefined variable: explode_ext in C:\\wamp\\www\\sound\\index.php on line 17, referer: http://localhost/sound/index.php
[Sat Jul 27 12:53:22.310860 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51037] PHP Stack trace:, referer: http://localhost/sound/index.php
[Sat Jul 27 12:53:22.310860 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51037] PHP 1. {main}() C:\\wamp\\www\\sound\\index.php:0, referer: http://localhost/sound/index.php
[Sat Jul 27 12:56:23.504224 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51054] PHP Warning: POST Content-Length of 489693796 bytes exceeds the limit of 31457280 bytes in Unknown on line 0, referer: http://localhost/sound/index.php
paco ::
V zgornji kodi nimaš funkcije ki naloži datoteko na server.
Prav tako lahko pogojne stavke spremeniš v;
V error logu pa piše, da velikost datoteke presega max velikost. Poglej v php.ini.
Prav tako lahko pogojne stavke spremeniš v;
if(!in_array($_FILES["song"]["type"], $allowed_ext)) { $error = true; $error_msg .= "<p style='color: red'>You can upload only files with .mp3 extension!</p>"; }
V error logu pa piše, da velikost datoteke presega max velikost. Poglej v php.ini.
It iz aj.
Housy ::
Ta pogojni stavek sem zamenjal, tnx
Ne razumem, zakaj skripta spusti skozi druge datoteke in jih vseeno naloži, če sem pa omejil samo na MP3 datoteke?
TRENUTNA KODA
V php.ini mam pa nastavljen "post_max_size" in "upload_max_filesize" na 30M, medtem ko v sami skripti dovoljujem samo upload datotek z maximalno velikostjo 12M.
Še vedno mi ni jasno, kaj delam narobe. Please help me
Hvala in lp,
Housy
Ne razumem, zakaj skripta spusti skozi druge datoteke in jih vseeno naloži, če sem pa omejil samo na MP3 datoteke?
TRENUTNA KODA
<?php if(isset($_POST["upload"])) { // VARIABLES // default values $upload_dir = "upload/"; $error_msg = ""; $error = false; // SUPPORTED FILE EXTENSIONS // users can upload only MP3 and AAC (m4a) files $allowed_ext = array("audio/mp3"); if(!in_array($_FILES["song"]["type"], $allowed_ext)) { $error = true; $error_msg .= "<p style='color: red'>You can upload only files with .mp3 and .m4a extensions!</p>"; } // SUPPORTED FILE SIZE // max file upload size is 12 MB if($_FILES["song"]["size"] > 12582912) { $error = true; $error_msg .= "<p style='color: red'>Maximum upload file size is 12 MB!</p>"; } // FILE ALREADY EXIST if(file_exists($upload_dir.$_FILES["song"]["name"])) { $error = true; $error_msg .= "<p style='color: red'>File already exist!</p>"; } // UPLOAD FILES // if there aren't any errors, user can upload a file if($error) echo $error_msg; else { move_uploaded_file($_FILES["song"]["tmp_name"], $upload_dir.$_FILES["song"]["name"]); echo "SUCCESS!"; } } ?>
V php.ini mam pa nastavljen "post_max_size" in "upload_max_filesize" na 30M, medtem ko v sami skripti dovoljujem samo upload datotek z maximalno velikostjo 12M.
Še vedno mi ni jasno, kaj delam narobe. Please help me
Hvala in lp,
Housy
Zgodovina sprememb…
- spremenil: Housy ()
usoban ::
[Sat Jul 27 12:52:05.137446 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP Notice: Array to string conversion in C:\\wamp\\www\\sound\\index.php on line 15, referer: http://localhost/sound/index.php
Zdaj v 15. vrstici (in_array) so argumenti pravilno podani, tako da zna preveri z
var_dump($_FILES)da nimas slucajno arraya, ker potlej moras do informacij o datoteki dostopat se z indeksom
$_FILES['song']['type'][0]
Zgodovina sprememb…
- spremenil: usoban ()
Housy ::
Če naložim npr. Word datoteko z .docx končnico in izvedem funkcijo var_dump, dobim ven naslednje podatke:
Kar se pa tiče arraya[0], pa ne pride v poštev, saj imam input značko takole naštimano:
Drugač pa mi je zdaj spet skripta normalno delovala, vsi pogojni stavki so bili upoštevani oz. so se izvedli ustrezno. Nimam pojma, kaj se to dogaja.
Je mogoče WAMP kaj kriv?
Lp, Housy
array (size=1)
'song' =>
array (size=5)
'name' => string 'BLABLA.docx' (length=11)
'type' => string 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' (length=71)
'tmp_name' => string 'C:\wamp\tmp\phpA9DE.tmp' (length=23)
'error' => int 0
'size' => int 13947
Kar se pa tiče arraya[0], pa ne pride v poštev, saj imam input značko takole naštimano:
<input type="file" name="song" />
Drugač pa mi je zdaj spet skripta normalno delovala, vsi pogojni stavki so bili upoštevani oz. so se izvedli ustrezno. Nimam pojma, kaj se to dogaja.
Je mogoče WAMP kaj kriv?
Lp, Housy
[Sat Jul 27 12:52:05.137446 2013] [:error] [pid 2796:tid 1544] [client 127.0.0.1:51024] PHP Notice: Array to string conversion in C:\\wamp\\www\\sound\\index.php on line 15, referer: http://localhost/sound/index.php
Zdaj v 15. vrstici (in_array) so argumenti pravilno podani, tako da zna preveri zvar_dump($_FILES)da nimas slucajno arraya, ker potlej moras do informacij o datoteki dostopat se z indeksom$_FILES['song']['type'][0]
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | WiFi včasih dela, včasih neOddelek: Omrežja in internet | 6508 (1273) | alfa_fan |
» | Vrednost denarja včasih (strani: 1 2 3 )Oddelek: Loža | 31208 (27493) | GGGGG |
» | elektrika včasih dela včasih neOddelek: Elektrotehnika in elektronika | 1019 (831) | mirator |
» | Grafična včasih dela, včasih neOddelek: Zvok in slika | 1289 (1183) | rzhektor |
» | Racunalnik vcasih zalaufa vcasih neOddelek: Pomoč in nasveti | 775 (666) | jansko |