Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Include();
Forum PHP.pl > Forum > PHP
piasek2000
Witam
czy istnieje możliwość przycięcia treści wyświetlanej za pomocą include(); ?
Chodzi o to, że importuje za pomocą include(); treść pliku "1.txt".
1. Potrzebuje żeby w index.php treść tego pliku była przycięta do powiedzmy 100 znaków
2. w pliku "1.txt" pozostała pełna treść.
Z góry dzięki
rocktech.pl
Witam.

Użycie include jest tu bezcelowe. Wystarczy taki do.
  1. $file = new SplFileObject ( __FILE__, "r" );
  2. foreach ( $file as $line ) {
  3. if ( $file->key () == 100 ) {
  4. break;
  5. }
  6. echo ($file->key () + 1) . ': ' . $line;
  7. }


Jeśli upierasz się na include to w inkludowanym pliku wystarczy powyższy dać ten kod z lekką modyfikacją.

  1. $ret = null;
  2. $file = new SplFileObject ( __FILE__, "r" );
  3. foreach ( $file as $line ) {
  4. if ( $file->key () == 100 ) {
  5. return $ret;
  6. }
  7. $ret .= $line;
  8. }

piasek2000
teraz ponumerowało mi wszystkie wiersze, ale nadal wyświetlony jest cały tekst z pliku
a mi chodzi żeby wyświetlić pierwsze 100 znaów
CuteOne
pobierz cały plik i jego content wytnij za pomocą substr()
Marcineczeczek
Jeśli koniecznie musi być include
  1. include(1.txt);
  2. $dane=ob_get_clean();
  3. echo(substr($dane, 100));

Pozdrawiam
piasek2000
Tak niestety
CODE
też nie działa
<?php
$news=rand(1,5);
$nazwa= $news.".txt";
$file = new SplFileObject ( $nazwa, "r" );
foreach ( $file as $line ) {
if ( $file->key () == 100 ) {
break;
}
$f=substr($file,0,100);
echo ($f);
}

?>


CODE
<?php
$news=rand(1,5);
$nazwa= $news.".txt";
ob_start();
include($news.txt);
$dane=ob_get_clean();
echo(substr($dane, 100));
?>

nic nie wyświetla

a tak wyświetla wszystko:
CODE
<?php
$news=rand(1,5);
$nazwa= $news.'.txt';
ob_start();
include($nazwa);
$dane=ob_get_clean();
echo(substr($dane, 100));
?>
CuteOne
ob_get_contents nie _clean
piasek2000
nie przycina
CODE
<?php
$news=rand(1,5);
$nazwa= $news.'.txt';
ob_start();
include($nazwa);
$dane=ob_get_contents;
echo(substr($dane, 10));
?>
markonix
Tak czy siak widzę, że chcesz zrobić zalążki arytykułów, a wycinanie iluś tam znaków jest brzydkim pomysłem.
Są do tego odpowiednie funkcje (nie raz na forum), które przycinają biorąc pod uwagę spacje, a najlepiej koniec zdania.
piasek2000
sprawa rozwiązana
CODE
<?php
$news=rand(1,5);
$nazwa= $news.'.txt';
$plik = file_get_contents($nazwa);
echo substr($plik,0,100);
?>

dzięki za wszystko
Marcineczeczek
Cytat(CuteOne @ 6.09.2012, 11:44:17 ) *
ob_get_contents nie _clean

o cholera ale ciało - dzieki
piasek2000
odświeża bo nadal jest problem, jednak musi być include() ponieważ w pliku 5.txt jest kilka linijek php a funkcja
CODE

file_get_contents($nazwa);//nie wyświetla php
include($nazwa); //tak

jakieś pomysły??
CODE
<?php
ob_start();
include($nazwa);
$dane=ob_get_contents();
echo(substr($dane,0,12));
?>
wyswietla 2 razy tresc 1 raz cala a drugi raz przycieta
CuteOne
ob_start();
include($nazwa);
$dane=ob_get_contents();
ob_end_clean();

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.