php utanför Document-mappen

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1
  • Oregistrerad
  • 2006-06-21 19:30

Jag skulle vilja bygga ett php-script som kollar igenom min Bilder-mapp och skapar lite tumnaglar och så, men php kan endast användas i Documents-mappen antar jag?

Skulle inte vara helt dumt att få php-tolken att gå igång på alla php-sidor som öppnas i en browser, oavsätt om de ligger på skrivbordet eller på extern hårddisk.

Är det möjligt?

Jag kör 10.4.6 (inte os x server med andra ord) och Entropys php.

PHP kan endast användas under rotmappen för webbservern som det körs på. För att kunna köra PHP-scripten med hjälp av webbläsarn (iofs så kör ju inte webbläsarn PHP-scriptet...) så måste det köras via en webbserver.

Borde det inte gå att skriva kommandofiler (shellscript) i PHP?

  • Oregistrerad
  • 2006-06-21 20:00

Jag sitter och testar lite här och upptäcker att det går att köra funktioner utanför documents-mappen. Sökvägen blir lite lustig, men det gör inget...

Dock kan man inte visa bilden med sån sökväg, jag kommer inte kunna länka till den högupplösta bilden, men det gör inget.

(Jag vet att det inte är browsern som kör phpn, men du fattade)

  • Oregistrerad
  • 2006-06-21 20:00

Symbolisk länk kanske?

asså php-skriptet kan ju komma åt vilka filer som helst på hårdisken (så länge den har permissions..)

så du skulle kunna skapa en php-fil som heter typ getImage.php och ta in ett filnamn som parameter typ "?file=hej.jpg"

sen kan du bara helt fräckt läsa in bild-filen i php och printa ut den till browsern. skicka din egen HTTP-header första bara så att browsern fattar att det är en image-fil och inte ett html-doc. typ..

<?PHP
//getImage.php
header("image/jpeg");
//läs in bild-filen här och mecka tills 
// du har ett image-objekt typ
imagejpeg($image);
?>

läs mer på
http://us2.php.net/manual/en/function.imagejpeg.php

Så sen skulle du kunna ha följande img-tag i nån annan php-fil:

//index.php
...
<IMG SRC="getImage.php?file=489333.jpg">
...

getImage.php-skriptet vet var den ska leta efter bilder och fixar med sökvägar och sånt och läser in bilden och skickar den till browsern.

Jag kommer inte ihåg exakt hur man gör. Men jag har fått det att funka för nåt år sen, så ge inte upp

hi-5!

  • Oregistrerad
  • 2006-06-22 08:20

Själva php:n har jag inget problem för, det var bara att jag inte greppade att jag kunde backa utanför webrooten utan att göra några som helst inställningar.

Jag höll inte på så länge till, men nu listar scriptet alla mappar i bilder-mappen och sen alla jpegar i dom. Nu ska dom skalas om, sparas i databasen och sen göra en presentation av det, men det är bara som att hugga ved.

Nästa problem är när scriptet ska köras, det lutar åt att dra igång ett applescript med iCal som startar och sen stänger sidan på dan när jag är på jobbet. Lite osäker på om inte scriptet kommer få time out, om man kan ställa det med nån funktion i php eller om jag måste in i servern och ställa det, men det är ett senare problem.

Hej pontus,

det är helt möjligt att köra PHP-script enbart med en PHP-tolk (php-binär). Jag har alltid gillat Entropy-disten och installerar du den så får du en php-binär som hamnar rätt i pathen.

Det finns bra info om att köra PHP i shellet på php.net men det är egentligen bara att köra.

Gillar man, som jag, bash, så ser det ungefär ut såhär i Terminalen.

DINHOST:~ User$>php dittscript.php

Du behöver alltså inte köra scriptet via en webbserver. Lycka till.

1
Bevaka tråden