20. september 2004 - 20:11Der er
7 kommentarer og 1 løsning
Konstant der indeholder stien til upload kataloget
Hej alle sammen
Er der nogen der ved, om der er en konstant i PHP, der returnerer stien til upload kataloget??
Hvis man tager en phpinfo(), så er der en string, der hedder upload_tmp_dir. Men kan man få fat i denne string i sit script, så man ikke behøver, at hårdkode stien til upload kataloget ind i scriptet?
Jeg ved godt, at man kan flytte sine uploaded filer med move_uploaded_file og at man kan gå ud fra $_SERVER['DOCUMENT_ROOT'] for at finde roden af sit website.
Men i dette tilfælde er det en temporær fil, som jeg selv opretter og altså ikke en fil, der er uploadet og derfor kan jeg ikke tilgå den via move_uploaded_file og mit upload katalog ligger i denne sammenhæng udenfor webscope (c:\php\upload), så jeg kan heller ikke bruge $_SERVER['DOCUMENT_ROOT'] til formålet.
Problemet er i bund og grund, at jeg skal transformerer et eksternt xml dokument med et lokalt xslt ark og det gør jeg via Sablotron. Men hele løsningen skal kører under en IIS server på en MS platform og her har Sablotron en bug, der gør, at man ikke kan loade et xml dokument via en url og derfor bliver nødt til først at hente dokumentet og gemme det lokalt, før det kan transformeres. Derfor skal jeg bruge et katalog, som jeg ved brugeren har skriveadgang til (upload). Men da løsningen skal kunne distribueres til andre platforme, hvor upload kataloget kan være placeret et andet sted kan jeg ikke hårdkode det ind i scriptet.
Nu kender jeg ikke lige Sablotron, men hvad det end er, må der da være mulighed for at definere hvor filen skal havne. Generelt på webhoteller havner filen man uploader, som du selv siger, i en tmp mappe.
Jeg tror ikke jeg kan hjælpe mere her, men du har eksperten's ekspert i huset oven over mig, så det bliver nok løst :)
Sablotron er et inkluderet XML toolkit til PHP 4.X - men jeg henter ikke filen vha. Sablotron, da det er her buggen ligger.
I stedet bruger jeg fopen til at skabe en lokal fil, som jeg så henter det eksterne xml dokument ind i og gemmer og her bliver jeg nødt til at hårdkode stien til den lokale fil, som jeg skaber (c:\php\upload\temp.xml) og det er lidt noget rod, for godt nok ved jeg, hvor jeg placerer filen. Men jeg kan jo ikke på forhånd vide, hvor upload kataloget ligger og det er her, det ville være skønt, hvis der var en konstant mend stien til upload kataloget på den pågældende server ala getenv('UPLOAD_TMP_DIR') eller så.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.