Autor | Zpráva | ||
---|---|---|---|
kovs Profil |
Zdarec.
ZA TU DOBU JSEM NA TO UŽ PŘIŠEL! ovšem mám tu jiný problém.. vypisuje se mi toto (hned pod <body>) Strict Standards: Only variables should be passed by reference in /data/web/virtuals/79746/virtual/www/scripty/profils-modify.php on line 83 script: $photo_new = ($_FILES['photo_new'] ['tmp_name']); $photo_new_name = ($_FILES['photo_new'] ['name']); $photo_new_size = ($_FILES['photo_new'] ['size']/1024)/1024; $povoleni = array('jpg', 'jpeg', 'png', 'gif'); if ($photo_new_size > 2) { $photo_error_up = "<h3>Fotka má příliš velkou velikost. Maximální velikost fotky může být 2MB.</h3>"; } elseif (is_uploaded_file($photo_new)) { $cesta = "img/user/"; $photo_id = Date("jmYHis", Time()); $codec = end(explode(".", $photo_new_name)); // toto je řádek 83, když ho dám do poznámky, tak chyba zmizí.. kde je chyba? $photo_new_name1 = explode(".", $photo_new_name); include "../include/prevodni-tabulka.php"; $photo_new_name2 = strtr($photo_new_name1[0], $prevodni_tabulka); $photo_new_name3 = "$photo_new_name2$photo_id.$codec"; } |
||
Alphard Profil |
#2 · Zasláno: 2. 5. 2015, 02:04:06
kovs:
„ kde je chyba? “
Funkce end přebírá vstupní pole referencí, protože mj. mění ukazatel aktuálního prvku v poli. Není možné v parametru přímo volat funkci, protože pak selže referencování. Možných řešení existuje více, zcela ekvivalentní by bylo řádek 11 rozepsat na 2, v prvním uložit výstup explode do proměnné a ve druhém volat funkci end. Druhou možností je vytvořit jinou konstrukci, která bude dělat totéž, nejlepší asi bude $codec = pathinfo($photo_new_name, PATHINFO_EXTENSION); |
||
kovs Profil |
#3 · Zasláno: 2. 5. 2015, 10:41:22
já jsem to mezi tím vyřešil takto
$codec1 = explode(".", $photo_new_name); $codec2 = $codec1[1]; |
||
Alphard Profil |
#4 · Zasláno: 2. 5. 2015, 10:50:47
Nevím o tom, že by
$codec něco znamenalo, chyba byla jinde. Mimochodem, vaše řešení nepočítá s tím, že v názvu bude více teček, vždy vrací druhý prvek, nikoliv poslední.
|
||
kovs Profil |
#5 · Zasláno: 2. 5. 2015, 11:10:33
dobře, děkuji, udělám to tedy podle vás ;)
|
||
Časová prodleva: 9 let
|
0