Čajovna rytířů Jedi || Jedi Order || Karel May || Belenorovo Česky || English
Home > Diskuze > Veřejná > Programování, grafika a SW & HW
12.11.2025 (216.73.216.5)

Programování, grafika a SW & HW

Zakladatel: MohawK

Co to je záhlaví ? :pp

<< | <> | >>

Belenor
13.10.2005 16:35
Tak si to probereme poporade. Ty mas retezec, ktery je ulozen v promenne $_FILES["obrazek"]["tmp_name"] a jde o jmeno souboru a chces to ulozit do nejakeho adresare, rekneme obrazky.

co potrebujes tedy udelat? spojit dva retezce v jeden. prvni retezec je "obrazky/" a druhy retezec je $_FILES["obrazek"]["tmp_name"].

toto spojeni lze delat ruznymi zpusoby:

1. proste zretezeni (uvozovky/apostrofy nehrajou roli, akorat je potreba dodrzet spravne parovani), napr.:
'obrazky/'.$_FILES["obrazek"]['tmp_name']

2. vlozeni promenne do retezce pomoci konstrukce, ktera nevim jak se jmenuje a nemuzu ji najit v manualu php, ale znate to vsichni.

$a = "xx";
$b = "$a"; // $b bude obsahovat xx
$b = '$a'; // $b bude obsahovat $a

pokud to chceme aplikovat na nas pripad, tak potrebujeme neco jako

"obrazky/$_FILES['obrazek']['tmp_name']"

o cemz nevim, zda funguje. rozhodne nefunguje verze

"obrazky/$_FILES["obrazek"]["tmp_name"]"

protoze se tu bijou uvozovky. Jeste ale existuje moznost

"obrazky/{$_FILES["obrazek"]["tmp_name"]}"

Preferuji proste zretezeni a vsude dat apostrofy, protoze je pry uspornejsi mit apostrofy misto uvozovek (z hlediska parseru, nekde jsem to cetl, ale asi to bude mit maly dopad). Mno, dost tohodle zbytecneho maglajsu, o kterem ani nevim, zda v nem nejsou chyby :-)

kapo
13.10.2005 15:35
tak abysme si to ujasnili...

cele uz jsem to nejaky zprovoznil, ale soubor se mi ulozil pod timto:

".$_FILES["obrazek"]["tmp_name"]."

myslite, ze tam nema byrt to ohraniceni? ".."?

SirPesZ
13.10.2005 15:13
Já to radši ani nečet :-).
Welcome to my world of death and pain
Maxell
13.10.2005 15:11
Mno já myslel, že v apostrofech to má bejt celý, ale jak na to koukám asi ne :-) Nebo já nevim, už sem se v tom taky ztratil :-)

Belenor
13.10.2005 10:22
Tak tomu nerozumim.
Maxell
12.10.2005 18:30
Jo? To sem právě myslel, že by nefungovalo :-) Takhle ti v tom apostrofu zůstane jen 'obrazky/'.$_FILES[ ne? :-)]

Belenor
12.10.2005 17:36
Mno, vubec nejlepsi by bylo 'obrazky/'.$_FILES['obrazek']['tmp_name'] :-)
Maxell
12.10.2005 17:31
A nebo spíš "obrazky/$_FILES['obrazek']['tmp_name'] ne? :-)

Belenor
12.10.2005 17:25
No on tam ma hlavne problem, ze tam mixuje uvozovky, promenne apod. v nepouzitelnem mixu. misto

"obrazky/$_FILES["obrazek"]["tmp_name"]"

asi chtel

"obrazky/".$_FILES["obrazek"]["tmp_name"]

Naposledy upraveno: 12.10.2005 17:25, Belenor

Maxell
12.10.2005 17:21
Mno copy tam nevidim, ale nehledal sem to, teď nemám čas :-/ Ale po zběžnym prohlídnutí sem narazil na tohle:
move_uploaded_file($_FILES['hloupost']['tmp_name'], "./31/hloupost.txt")
To se neshoduje s tou tvojí syntaxí, kterou si sem poslal mám pocit ;-)

Belenor
12.10.2005 17:12
Armen: vubec nevim o cem mluvis :-)

Kapo&maxell: nekde na php.net jsem cetl, ze doporucuji pouzivat move_uploaded_file, ale uz nevim proc, asi to bude napsane u te funkce. ( http://www.php.net/manual/cs/features.file-upload.php )

kapo
12.10.2005 17:03
myslim ze <a href="http://www.linuxsoft.cz/article.php?id_article=310">tady</a>.
Maxell
12.10.2005 17:02
No mě se neomlouvej, já jen chtěl vědět, co tě k tomu vedlo :-) Jediný, co mě napadlo bylo právě nějaký bezpečnostní riziko. A nevíš, kde si o tom čet?

kapo
12.10.2005 16:58
Max: no tak sorry, ale nekde jsem cetl, ze to COPY neni moc bezpecne...
ale fakticky nechapu, kde mam co blbe. Jak se ale znam, urcite to bude nejaka prkotina :)

SirPesZ
12.10.2005 16:07
Armen>>> Jak říká Mohawk a navíc, Belenor se takovejma věcma živí ;-).
Welcome to my world of death and pain
Maxell
12.10.2005 15:31
Mno nevim přesné parametry move_uploaded_file, něco v manuálu si nenašel? Ale hlavně mi řekni důvod, proč to děláš takhle a ne tak, jak sem to napsal já? :-) Podle mě je to jednodušší, pokud to má ale nějakej háček, rád se přiučim :-)
MohawK
12.10.2005 15:04
Armen::: Není těžký si to pamatovat
Hello, Hello, Hello, How Low ?
Arm.
12.10.2005 14:52
Belenor: To máš z vlastní hlavy nebo to máš někde napsané? Pokud z vlastní, smekám před Tebou. ;)))

Naposledy upraveno: 12.10.2005 14:53, Arm.

Give a guy some peace, would ya?

kapo
12.10.2005 14:07
no na to uz jsem prisel, ale rad bych vam neco ukazal...

<?php

session_start();
include("includes/db_connect.php");
$prihlasen = MySQL_Query("SELECT * FROM uzivatele WHERE uziv_jmeno = '".$_SESSION["uziv_jmeno"]."' AND heslo = '".md5($_SESSION["heslo"])."'");
if ($odeslat == "ano") {
$vyska=50;
$sirka=50;
$velikost=GetImageSize($obrazek);

if ($velikost["0"]>$sirka) die("Šířka obrázku je přiliš velká");

if ($velikost["1"]>$vyska) die("Výška obrázku je přiliš velká");

if (is_uploaded_file($_FILES["obrazek"]["tmp_name"])) {
$name = $_FILES["obrazek"]["tmp_name"];
move_uploaded_file($_FILES["obrazek"]["tmp_name"], "obrazky/$_FILES["obrazek"]["tmp_name"]");
$vychozi = MySQL_Query("UPDATE uzivatele SET obrazek = '".$name."'");
if (!$vychozi) {
echo "Nepodařilo se nastavit obrázek jako výchozí."
exit;
} else {
echo "Obrázek byl uploadnut a nastaven jako výchozí.";
}
}
} else {
...formular...

takze co je za problem... radek 17, coz je:

move_uploaded_file($_FILES["obrazek"]["tmp_name"], "obrazky/$_FILES["obrazek"]["tmp_name"]");

mi hazi chybu:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /3w/wz.cz/k/killah-kru/upload.php on line 17

jo a z nejakeho podivneho duvodu se mi ted zrusil styl pro listy tady na RS...


Maxell
12.10.2005 12:54
No jasně, formulář složí pouze ke vstupu dat, ošetřit to už musíš jinde :-) V tomhle případě stačí dát příkaz copy do podmínky, kde specifikuješ typ souboru.
<< | <> | >>