Kun teen php koodin joka sisältää fopen komennon, ei apace sitä tunnista! mikä on vikana? Voisiko joku kertoa?
<?php
$f = fopen("foo.txt");
fclose($f);
?>
mgv, miten oikein yrität fopen:ia käyttää? Sitä on aika vaikea arvata tuosta kysymyksestäsi.
no ainahan minä fcloseakin käytän ja yleensä käytän fopenia fwriten ja fclosen kanssa. Samanlaisella tavalla kuin fawkz, käytän minä fclosea lopussa. Kyllähän minä muuttujat hallitsen, ei siinä mitään... Ja muutenkin... Kai te nyt sentään fopen käskyn tunnette? Palvelimeni ei yksinkertaisesti ymmärrä aina sitä käskyä. Kyllähän se joskus, mutta ei aina.
Silloin kun palvelimesi ei ymmärrä fopen:ia, niin tuleeko jokin virheilmoitus (jos tulee niin millainen) vai tapahtuuko jotain muuta? Jos mahdollista, niin olisi hyvä mikäli laittaisit tänne sen koodin jossa fopen ei joka kerta toimi.
Mikä versio sinulla on käytössä Apache:sta ja PHP:sta ja vielä että millä käyttöjärjestelmällä ajat Apachea ja PHP:tä?
Onko sulla määritelty miten tiedosto avataan? Esim.
<?php
$f= fopen("foo.txt", "a");
fclose($f);
?>
Tuo "a" voi olla muukin kuin pelkkä "a" esim. "a+". Voit lukea lisää http://www.mureakuha.com/guide/PHP/168/PHP_
olen tehnyt kaiken. En tiedä vain, mikä apace ja php minulla ovat, mutta käyttöjärjestelmä on windows 98. Virheilmoitus on, että palvelin ei tunnista käskyä.
Jatkakaahan vastailua.
Meidän pitää toistaiseksi vain arvailla. Olisi helpompaa, jos kopsaisit koodin tänne. Tässä muutama perusajatus: Tarkista, että kunkin komennon lopuussa on ; -merkki. Käytätkö koodissa if-ehtolausetta? Tarkista, että se on oikein kirjoitettu. Voit myös korvata fopen-funktion file-funktiolla. Joissakin tapauksissa se toimii silloin kun fopen ei toimi (varsinkin jos avattava tiedosto on eri palvelimella). Kuitenkin kaikkein selvintä olisi jos voisit laittaa koodia tänne.
Ja anna kokonainen virheilmoitus eikä tuollaista ympäripyöreää selittelyä. Et oikeastaan edes ansaitsi kenenkään vastauksia noilla kysymyksillä ;)
Apache:n (huomaa kirjoitustapa, ei siis Apace) versionumeron saat selville esim. näin:
Käynnistä Apache -> käynnistä jokin selain -> kirjoita osoiteriville "localhost" ilman lainausmerkkejä. Jos palvelin on toiminnassa, selaimeen todennäköisesti tulee jokin hakemistolistaus ellet ole laittanut Apachen asetuksiin että se hakee index.html (tai vastaavan) tiedoston ja näyttää sen.
Jos siis se hakemistolistaus näkyy niin aivan viimeisellä rivillä lukee tyyliin "Apache/x.x.xx Server at localhost port 80". Versionumero on silloin tuo luku joka on x-merkkien kohdalla.
Ja jatkamme vastailua sitten kun tiedämme millainen virheilmoitus fopen:sta tulee (kopioi koko virheilmoitus tänne) ja kun näemme sen koodin joka ei meinaa toimia joka kerta ;)
Tuossa on tosi monta virhemahdollisuutta! Esimerkiksi aloituskomento;
<?
tai
<?php
Kummanko palvelin tunnistaa ainoaksi oikeaksi? Entä oletko testannut php-tiedostoa jollakin verkossa olevalla PHP-palvelimella? Ja toimiko se siellä hyvin?
NO JO ON! Olin laittanut koodit aina samaksi ja kaikki oikein. Silloin oli tullut vain jotakin pälätystä siitä, ettei fopen komentoa tunnisteta. Tein taas jälleen samat koodit ja kaiken samanlaisella tavalla katsoakseni virheilmoituksen, mutta tällä kertaa vikaa ei ilmennyt. Kiitän kuitenkin kaikkia auttajia ja pyydän samalla anteeksi, että jouduitte kuluttamaan aikaanne. Älkää pitäkö vikaa tämän kysymyksen takina... Kiitos
LOL. No ei sitten välähtänyt testata sitä paskaa vähän kauemmin ennen kuin floodit tänne foorumiin :x
jos laitoit koodin omasta mielestäsi oikein, se ei välttämättä tarkoita, että se olisi oikein :) Mutta hyvä että toimii...
Aihe on jo aika vanha, joten et voi enää vastata siihen.