Elikkäs olen tekemässä kotisivua, jonne olisi tulossa php galleria, jossa on mukana uploaderi, jonka pitäisi kirjoittaa toiseen tiedostoon tarvittavaa tekstiä.
<?php if(isset($_POST['Submit']) && !$errors) { if($_FILES['image']['name']) { // File and new size $filename = $image_name; $sFile = file_get_contents("gallery.xml", False, $cxContext); $pituus=strlen($sFile); echo $pituus; $pituus=$pituus-10; $uusi=substr($sFile,0,$pituus); $uusi=$uusi . "<image color="0xFFFFFF">\n<description></description>\n<pic>/galleriaan/"+$filename+"."+$extension+"</pic>\n</image>\n\n</gallery>"; $handle=fopen("gallery.xml", 'w'); fwrite($handle, $uusi); fclose($handle); echo $sFile; ?>
Tuossa $uusi=$uusi . "<image color....." niin siitä tulee ilmoitus
Parse error: syntax error, unexpected T_LNUMBER
Mikä tuossa on tällä hetkellä väärin kun kokeilin aikasemmin, että kun sen laittaa $uusi=$uusi . "kirjoitelmaa ja paljon"; niin se toimi moitteettomasti
Mod. edit: siirretty oikealle alueelle.
Muuta tämä: color="0xFFFFFF"
täksi: color=\"0xFFFFFF\"
ks. http://www.hudzilla.org/phpbook/read.php/2_6_2
Samalla rivillä pitänee myös korvata pari +:aa .:llä, koska PHP:ssä konkatenointi tapahtuu .-operaattorilla.
Vaihdoin nyt tuosta tuon colorin color=\"0xFFFFFF\"
Mutta tuo jälkimmäinen neuvo, muutin kanssa siis "+$filename+"."+$extension+"
".$filename+".".$extension+", jos siis ymmärsin oikein.
Nyt tulee kaksi virhettä
Warning: Unexpected character in input: '\' (ASCII=92) state=1 sekä
Parse error: syntax error, unexpected T_LNUMBER
Heh, voihan sitä XML:ää tälleenkin tietysti parsia, mutta kannattaisi kyllä käyttää siihen tarkoitettuja valmiita työkaluja. Esim. https://www.php.net/manual/en/book.domxml.php
DOMXML on PHP4:lle, PHP5:lle sitten DOM. Ja suosittelen.
Alkuperäistä kommentoidakseni:
x
merkkiä, vaikkapa se -10.file_put_contents(tiedostonimi, data);
(vs. fopen+fwrite+fclose
) on ihan kätevä.Ps. Väärä alue.
Kiitoksia kaikista kommenteista, sain näillä tomiaan sivustoni niin kuin ajattelinkin :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.