Programovacie jazyky, rady, poradňa...
nemo
Light Star
Príspevky: 206 Registrovaný: 13 júl 2009, 7:09
Príspevok
od používateľa nemo » 28 sep 2010, 17:35
Kód: Vybrať všetko
<?php
$dovolene = array(".png");
if (isset($_POST["odoslany"])) {
if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
$name = $_FILES["subor"]["name"];
if(in_array(strrchr($name, '.'),$dovolene)){
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "imgg/$name");
} else $copy = false;
if ($copy) {
echo "<img border= '0' src='aimg/info.png'> $name úspešne nahratý <img border= '0' src='aimg/success.png'>";
} else {
echo "<img border= '0' src='aimg/info.png'> Len .png súbory! <img border= '0' src='aimg/warning.png'>";
}
}
}
?>
mam takyto upload bere len .png subory no da sa to tak spravit nech bere len 1.png subor? (myslim tym nazov) ďakujem
Grim
Darca
Príspevky: 8702 Registrovaný: 25 jún 2008, 0:54
Bydlisko: pod železničným mostom
Kontaktovať používateľa:
Príspevok
od používateľa Grim » 28 sep 2010, 17:40
//...po preštudovaní celého kódu som zistil, že to takto jednoducho nepôjde...toto fugovať nebude...
Kód: Vybrať všetko
<?php
$dovolene = array("1.png");
if (isset($_POST["odoslany"])) {
if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
$name = $_FILES["subor"]["name"];
if(in_array(strrchr($name, '.'),$dovolene)){
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "imgg/$name");
} else $copy = false;
if ($copy) {
echo "<img border= '0' src='aimg/info.png'> $name úspešne nahratý <img border= '0' src='aimg/success.png'>";
} else {
echo "<img border= '0' src='aimg/info.png'> Len .png súbory! <img border= '0' src='aimg/warning.png'>";
}
}
}
?>
juho
Star
Príspevky: 551 Registrovaný: 11 máj 2007, 21:16
Príspevok
od používateľa juho » 28 sep 2010, 19:17
si pozri na php.net aku funkciu ma strrchr()
teda ked z tade vynechas strchr a in array a das tam len $name===$dovolene tak mozno by sa to aj dalo
nemo
Light Star
Príspevky: 206 Registrovaný: 13 júl 2009, 7:09
Príspevok
od používateľa nemo » 28 sep 2010, 19:21
nechapem ako to myslis... som si to pozrel ale nwm...
BX
Addict
Príspevky: 4572 Registrovaný: 10 jan 2008, 15:30
Príspevok
od používateľa BX » 28 sep 2010, 19:27
Neviem či som ten kód dobre pochopil, ale za predpokladu, že v $name je názov uploadnutého súboru, tak by som možno použil jednoducho miesto
reg. výraz
(No ale ozaj neviem, či píšem dobre : D )
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 28 sep 2010, 19:46
BX napísal:Neviem či som ten kód dobre pochopil, ale za predpokladu, že v $name je názov uploadnutého súboru, tak by som možno použil jednoducho miesto
reg. výraz
(No ale ozaj neviem, či píšem dobre : D )
nerád ti to hovorím, ale zase ťa musím raz opraviť. Bodku treba backslashnúť, inak sa bude v tom regulárnom brať ako ľubovolný znak
BX
Addict
Príspevky: 4572 Registrovaný: 10 jan 2008, 15:30
Príspevok
od používateľa BX » 28 sep 2010, 19:47
Pravda... hups
nemo
Light Star
Príspevky: 206 Registrovaný: 13 júl 2009, 7:09
Príspevok
od používateľa nemo » 28 sep 2010, 22:05
co je to?backslashnúť
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 28 sep 2010, 22:08
dať pred tú bodku spätné lomítko, takže to bude
if(preg_match("/^1\.png$/", $name)) {
nemo
Light Star
Príspevky: 206 Registrovaný: 13 júl 2009, 7:09
Príspevok
od používateľa nemo » 29 sep 2010, 16:54
a ked chcem aj 1.png aj 2.png ako na to?
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 29 sep 2010, 16:57
skús niečo ako
if(preg_match("/^[1|2]\.png$/", $name)) {
Mmartin
Guru
Príspevky: 2786 Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava
Príspevok
od používateľa Mmartin » 29 sep 2010, 17:48
a ak chces hocijake_cislo.png, tak takto:
if(preg_match("/^[0-9]*\.png$/", $name)) {