Autor Zpráva
wNi'
Profil *
Ahoj, postavil (alebo skopíroval a pomenil) som script s uploadom obrázkov, všetko ide, súbor sa uploadne tam, kam má ale ponechá si svoje meno, preto som sa začal zaujímať o funkciu rename();, tak som sa pozrel na php.net, čo to pobral od nich, a zapísal to takto (spolu s celým scriptom prikladám) :

<?
include "db.php";
$uploaddir = './upload/';
$uploadfile = $uploaddir . basename($_FILES['subor']['name']);

if (move_uploaded_file($_FILES['subor']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
}
else {
  echo "File uploading failed.\n";
}

$imageinfo = getimagesize($uploadfile);
if($imageinfo['mime'] != 'image/png' && $imageinfo['mime'] != 'image/jpeg') {
  echo "Sorry, we only accept png and JPEG images\n";
  exit;
}
echo $uploadfile.";";
echo $_GET["id"];
if  (rename($uploadfile, "lama".".png"))
echo "ok";
else 
echo "not ok";
die ();
header("Location: index.php");
?>


Zatial som to vopchal do If-u, lebo som chcel vediet, či to teda zmenil aelbo nie. Okrem toho som chcle síce pôvodne dosiahnúť, aby sa obrazok volal $id.png, ale keď mi celý script prestal fungovať, zapochyboval som, či som to napísal správne, takže pre začiatok Lama.png...
Keď rename odstránim, všetko ide úplne v pohode, obrazok sa uploadne, keď ho tam dám kukám na čistú stránku alebo pri najhoršom mi hodi error... Neviem čo s tým :-/ Ani brat mi nevedel povedať...Ďakujem za odpovede
wNi'
Profil *
*oprava... Nekukam na prazdnu stranku lebo mi echo stihne v medzicase vypisat nazov suboru, ID z url, a ten dlhsi text hore ze to uploadol...
Tori
Profil
Jaký error to háže?
Nepomohlo by používat absolutní cesty k souborům? Pozrite si hned první komentář v manuálu u funkce rename.

edit: ↓ Zdejší zvýrazňovač kódu kromě barevného odlišení i některé názvy funkcí, příkazů apod. podtrhává - tj. změní je na odkaz na příslušnou stránku manuálu.
wNi'
Profil *
Momentálne v takomto štádiu vypíše len "File is valid, and was successfully uploaded. ./upload/war.png;64ok", čize všetko sedí, podla neho bol súbor uploadnutý (čo nebol), vypíše aj ID aj to že sa súbor úspešne premenoval (tým "ok")... Predtým mi hádzal "unexpected T_RENAME", alebo mu vadili zátvorky, bez ktorých by to nešlo vôbec atď. Preto som tam aj narval ten if, viacej mi toho povie, a absolútne cesty som skúšal, teda ak som tej ukážke správne pochopil, narval som tam teda ./upload/$uploadfile, ale to mi zas vyhodil že mám zle zapísanu cestu a že ./upload/ ./upload/DSC000.jpg (napr. ja si to presne nepametám) neexistuje, prirodzene..
A poslednej vete nechápem (som začiatočník, prvy komentár som pozrel ale kam to mám kliknúť?)

Ďakujem
Tori
Profil
Absolutní cestu jsem myslela toto:
$uploaddir = dirname(__FILE__).'/upload/';
//....
if (rename($uploadfile, $uploaddir.'lama.png'))
  echo 'ok'; // atd.
wNi'
Profil *
Vypísalo zaujímavosť (najmä tie lomítka :D): File is valid, and was successfully uploaded. C:\Program Files\EasyPHP-5.3.4.0\www/upload/war.png;64ok

Ale bezchybne funguje O_o.. :) Ďakujem, veľmi si mi pomohla :)
Tori
Profil
Ještě by se dalo místo natvrdo psaných lomítek použít PHP konstantu DIRECTORY_SEPARATOR, pak by byly všechny jedním směrem :)
wNi'
Profil *
No, pokial to pojde aj na nete tak je dobre tak ako je :).. Ja sa nezvyknem sparat v tom, comu skutocne ani nerozumiem :D ked to ide tak som rad, za co som velmi vdacny :)...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0