Avatar billede mysitesolution Nybegynder
06. september 2003 - 12:13 Der er 31 kommentarer og
2 løsninger

Fil til string

Hvordan får jeg en fil til en string? Altså fx $hej = include('images/fil.htm'); <- Ved godt man ikke kan det der


Har prøvet dette:
function FileToString($FileName) {

$handle = fopen ($FileName . "?$_SERVER[QUERY_STRING]", "r");
while (!feof ($handle)) {
    $text .= fgets($handle, 4096);
}
fclose ($handle);

return $text;
}

Men hvis jeg skriver FileToString('images/fil.htm'); så virker det ikke, men hvis jeg skriver FileToString('http://minside.dk/images/fil.htm') så virker det godt
Avatar billede mysitesolution Nybegynder
06. september 2003 - 12:20 #1
har også prøvet ReadFIle, men den kaster det jo bare ud :(
Avatar billede schaefner Juniormester
06. september 2003 - 12:22 #2
function FileToString($FileName) {
  $text = implode('',file($FileName));
  return $text;
}
Avatar billede mysitesolution Nybegynder
06. september 2003 - 12:39 #3
Den virker...MEN der "kører" ikke php´en i filen, den viser hele filen
Avatar billede schaefner Juniormester
06. september 2003 - 12:42 #4
den burde udføre php'en i filen
Avatar billede mysitesolution Nybegynder
06. september 2003 - 12:43 #5
nope... den viser hele php filen, hvilke ikke er så smart
Avatar billede erikjacobsen Ekspert
06. september 2003 - 13:31 #6
Hvad står der i filen - dit eksempel antydede li'som at det bare var
en HTML-fil
Avatar billede saudoo Nybegynder
06. september 2003 - 13:57 #7
Hvis du skal indkluderer en side:
<?php
include("$_GET[side]");
?>

Og brug = index?side=file.htm
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:02 #8
Ja jeg ved godt jeg skrev .htm sorry, men det er .php jeg mente... jeg skal bruge det til en str_replace hvor fx hej bliver udskiftet med den .php fil, så der kan IKKE bruger include... Min funktion virker MEN den virker kun hvis jeg henter med http://www.minside.dk/hej.php og ikke hvis jeg bare skriver hej.php :( og den skal kunne hej.php fordi jeg bruger noget .htaccess
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:12 #9
Ok, sådan. Læs mit svar i http://www.eksperten.dk/spm/367813
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:15 #10
kan heller ikke bruges... Da der er mange der skal ændres og muligvis er der ingen... Hvis du kan lave det som en FileToString funktion, så kan det bruges
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:17 #11
function FileToString($FileName) {
  ob_start();
  include($FileName);
  $return=ob_get_contents();
  ob_end_clean();
}

eller

function FileToString($FileName) {
  ob_start();
  ReadFile($FileName);
  $return=ob_get_contents();
  ob_end_clean();
}
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:18 #12
Hvad mener du med det ikke kan bruges?
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:21 #13
fordi alle fx hej skal udskiftes med en php fil

Ha rlige prøvet med de funktioner jeg har lavet, det virker ikke
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:29 #14
vil lige sige at php filen altid ligger i en mapper under den hvor scriptet skal køres fra, altså FileToString('mappe/fil.php')
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:29 #15
Jeg forstår ikke hvad du beder om. Prøv omhyggeligt at forklare dit problem.
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:33 #16
Okay...

Jeg har denne funktion

function FileToString($FileName) {

$handle = fopen ($FileName, "r");
while (!feof ($handle)) {
    $text .= fgets($handle, 4096);
}
fclose ($handle);

return $text;
}

Som kan læse en fil ind i en string fx $fil = FileToString('http://minside.dk/hej.php'); Når jeg siger læse så mener jeg ikke at den kan se PHPen men bare outputtet fra .php filen. Det jeg så gerne vil have er en FileToString funktion hvor man fx kan skrive FileToString('scripts/hej.php') og så læser den outputtet fra php filen. Min funktion virker kun hvis man skriver en url
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:34 #17
Men det er jo det jeg har givet dig et link til
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:36 #18
Så lav det som en funktion, så må jeg se om det virker. Men du 2 funktioner jeg har skrevet et sted, virker IKKE
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:37 #19
UPS! Havde lige lavet en fejl i mine funktioner, tester lige igen.. så virker det måske :D
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:43 #20
Okay.. nu virker det NÆSTEN... Når jeg bruger den, så får jeg indholdet det rigtige sted MEN, jeg får det også øverst :(, altså 2 steder hvor den kun skulle være 1 sted
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:44 #21
Vis os hvad du laver
Avatar billede mysitesolution Nybegynder
06. september 2003 - 14:53 #22
Helst ikke.. det går under "hemmeligt" lige nu... men kan lave en kode der er identisk

<?
function FileToString($FileName) {
  ob_start();
  include($FileName);
  return ob_get_contents();
  ob_end_clean();
}

$Post = 'En masse tekst og [script]text.php[/script]";
$Post = preg_replace("/\[script\](.*)\[\/script\]/isUe","FileToString('scripts/\\1')", $Post);

echo $Post;
?>
Avatar billede erikjacobsen Ekspert
06. september 2003 - 14:53 #23
Du får aldrig sagt ob_end_clean()
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:02 #24
Hvordan skal jeg så gøre?
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:05 #25
function FileToString($FileName) {
  ob_start();
  include($FileName);
  $text = ob_get_contents();
  ob_end_clean();
  return $text;
}

rigtigt??
Avatar billede erikjacobsen Ekspert
06. september 2003 - 15:07 #26
Hvis det virker, så er det jo rigtigt ;))
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:08 #27
Har lige testet.. gør det samme :(
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:08 #28
Ha rlige fået points op på 60
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:10 #29
Har du ikke MSN, er noget lettere
Avatar billede erikjacobsen Ekspert
06. september 2003 - 15:12 #30
Nej, MSN er ikke lettere.

Du skal lige teste de rigtige scripts - husk at uploade osv osv.
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:15 #31
Sådan nu virker det.. der var en lille fejl.. TAKKER :) MEGET Opret et svar...
Avatar billede erikjacobsen Ekspert
06. september 2003 - 15:17 #32
Nej, glem det. Men en anden gang prøver du at være knap så rodet i formulering
og aftestning. Og du behøver ikke at hæve point uden at der er nogen der
beder dig om det. Dette var et umådeligt simpelt problem.
Avatar billede mysitesolution Nybegynder
06. september 2003 - 15:21 #33
lukker og er meget glad
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester