Lähetän tiedoston lomakkeella sitä käsittelevälle sivulle ja yritän saaha siitä seuraavia tietoja.
$kansio = dirname($tiedosto); //Ei toimi, antaa tulosteksena pelkän pisteen.
$nimi = basename($tiedosto); //Toimii
manuaalista:
//before PHP 4.3.0
dirname('c:/'); // returned '.'
//after PHP 4.3.0
dirname('c:/'); // returns 'c:'
Minulla on käytössä PHP 4.4.0, eli polku pitäisi näkyä, kai.. Pitäisikö sen näyttää koko polkua yleensäkään, eli vaikka c:\kjffk\kfjkfj\fkj vai pelkästään tuon c:?
Ehdotuksia mikä mättää?
Homman tavoitteena olisi saada tallennettua tiedoston polku nimineen tietokantaan.
getcwd()
Edit:
Äh, luin hätäisesti ja käsitin väärin. Eli yrität saada tiedostonimestä polun irti? Katso ensin onko annettu polku hakemisto, jos ei ole niin ota substr:llä koko string viimeiseen / tai \ merkkiin asti ja katso onko se hakemisto. Jos on niin se on hakemasi polku. Onkohan tuo metodi ihan idioottivarma? Ainakin näin äkikseltään tuntuisi. En osaa sanoa miksi tuo dirname ei toimi. Mitäs tuossa $tiedosto muuttujassa tarkalleen nyt on?
Kiitoksia vastauksesta, ehdin jo kokeilla pikaisesti mutta vielä en saanut toimimaan.
Siitä mitä siellä on, on varmaksi paha sanoa mutta koitan..
Eli minulla on sivu, jossa syötetään erinäisiä tietoja, ja siellä myös haetaan pdf-tiedosto selaamalla jostakin paikasta kovalevyä (lomakkeessa lause: kuva: <input type=file name="tiedosto">) ja toisella sivulle minne lomakkeen tiedot menee, olisi tarkoitus saada siitä tiedostosta pelkästään sen tiedoston sijainti irti.
Toivottavasti tämä selvensi, hankala selittää kun hyvä että edes itse tietää mitä tekee..
Voi voi.. Nyt sain sen tulostamaan alla olevaa
C:\WINDOWS\TEMP\php15F.tmp
elikkäs se taitaa tehä siitä jonkun väliaikaisen tiedoston ja näyttää sen polun, vai mitäkähän tässä tapahtuu.
Onko tämä edes mahdollista kaivaa esille enää, vai pitäisikö sitä koittaa nyt ihan jollain muulla tavalla? Voinko kaivaa hakemistopolun jo jollain tavalla heti siellä lomakesivulla?
Kävin kahtoon Blazen linkin vaan ei auttanu (tai sitten en vaan osaa). Miksi *&%@£$** tämä:
//before PHP 4.3.0
dirname('c:/'); // returned '.'
//after PHP 4.3.0
dirname('c:/'); // returns 'c:'
tulostaa mulla vaan tuon pisteen, jos tässä kerta on käytössä 4.4.0? Päivä menny tuon kans ja ei. Antakaa vinkkiä jos vaan on pientäkää hajua?
Aihe on jo aika vanha, joten et voi enää vastata siihen.