webForumDet fria alternativet

Hämta ur en .txt - fil

PHP

14 svar · 301 visningar · startad av fjarne

Medlem sedan feb. 200128 inlägg
Frågan#1

Hej!
Jag är nybörjare & behöver en massa hjälp.....
Kan nån klok & snäll phphjälte svara på denna fråga skulle jag studsa av glädje i surfstolen.
Jag knorpar med ett fotogalleri, där besökare ska kunna skicka upp sina bilder. Bilderna kommer in i ordning & fint & så,(fick hjälp med det):) men jag får inte till det med bildtexterna som ska folk ska kunna lägga in till den bild de skickat upp.
Nu har jag en text fil som tar emot data från ett formulär, alltså själva bildtexten.
Men hur hämtar man texten till resp bild från denna fil?

Det finns ingen databas, går det ändå månne?

Ootroligt tacksam för hjälp samt vänliga hälsningar / fjarne

Medlem sedan dec. 19991 749 inlägg
#2

Välkommen till webforum. Din bästa svenska php resurs på det världsomspännande datornätverket internet.

Allt om hur man leker med filer hittar du här: http://www.php.net/manual/en/ref.filesystem.php

Det du behöver titta speciellt på är fopen(); fread(); och fwrite();

Hoppas det gav dig en knuff i rätt riktning. Annars får du återkomma :

------------------

"Information wants to be free -- because it is now so easy to copy and distribute casually -- and information wants to be expensive -- because in an Information Age, nothing is so valuable as the right information at the right time."
- John Perry Barlow

nanne.net

Medlem sedan feb. 200128 inlägg
#3

Tack ska du ha för tipset!
Texten hämtas nu ur .txt-filen & visas under bilderna.
Men jag har inte förstått än hur man delar upp den så att inte all text som finns i filen visas på en gång.
Hur man kan göra det ?
Är det fseek() som man ska använda ...?

En rejäl & bra knuff men inte riktigt ända över kanten än.
/fjarne :O)

Medlem sedan feb. 200177 inlägg
#4

file = fopen("dinfil.txt", "r");

while(!feof($file))
{
$line = fgets($file,1024);
echo "$line";
}

denna kodsnutt läser varje rad i din textfil och printar ut den...hoppas det hjälper

------------------
"Snälla människor kommer till himmlen, andra kommer hur långt som helst"

Medlem sedan feb. 200128 inlägg
#5

Tack för den!

Medlem sedan feb. 200128 inlägg
#6

Törs man fråga om tips på hur man kan få ut en rad i taget ?
Syftet är att visa rad 1 vid bild 1,
rad 2 vid bild 2 etc.

Ödmjh/ den rådville novisen fjarne

Medlem sedan feb. 200177 inlägg
#7

lagra $line i en array

------------------
"Snälla människor kommer till himmlen, andra kommer hur långt som helst"

Medlem sedan jan. 20001 006 inlägg
#8

Ex.

<?
$file = "file.txt";
$fileopen = @fopen($file, "r")
		OR DIE ("Kan inte öppna fil");

for ($i=0; $buffer = fgets($fileopen, filesize($file)); $i++) {
  $file_array[$i] = $buffer;
}

/* $file_array[0] = rad 1, $file_array[1] = rad 2 osv.. */
echo $file_array[0];

fclose($fileopen);
?>

/j

------------------
R6

Medlem sedan feb. 200128 inlägg
#9

Tack för den fina hjälpen!
/fjarne :)

Medlem sedan feb. 200128 inlägg
#10

Huppaho framför rutan!
Nu så måste jag nog komma med en annan nybörjarfråga, om arrays denna gång.

Jag försöker fortfarande med att knorpa bildgalleri & tänker minsann inte sluta med det förräns det funkar. :O)

Jag använder den kod som Batboy så snällt visar på här ovanför för att få ut texten ur en textfil i arrays.
Och minsann, då ser man bildtexten till den första bilden gemytligt flimra i en tabellruta inunder.

Men hur sjutton gör man egentligen för att visa nästa textsnutt, alltså field_array[1]under nästa bild?

Åsså länken till nästa bild den ser ut såhär:
<A HREF=$script?action=visa_lillabilden&bilden=$bild>

Ööhh...jo, nu kommer ju samma text under varje bild liksom & jag kommer inte på hur man ska göra helt enkelt.
Går det att lägga till 1 [härinne] i en array på nåt sätt, eller kan man göra nån slags loop eller så?
Jag har försökt med allt vad jag hittat i manualer & böcker & på nätet, men inte lyckats få det att funka ordentligt.
Så nu är jag nog verkligen ute och plaskar som en myra i storböljan.
Ojoj... ~:0)

Alla ledtrådar & tips mottages med största möjliga tacksamhet!

Allra vänligaste hälsningar
/fjarne

Medlem sedan feb. 20001 861 inlägg
#11

Ändra <A HREF=$script?action=visa_lillabilden&bilden=$bild> till <A HREF=$script?action=visa_lillabilden&bilden=$bild&textsnutt=2>
Sen tar du in arrayen med
echo $file_array[$textsnutt]

Got it? = )

[Redigerat av OlleBoop den 26 feb 2001]

Medlem sedan feb. 200128 inlägg
#12

Mnjaa...det blir ändå samma sak.
Nåja, det blir väl nån rå vade lider på de där...
/fjarne :O)

Medlem sedan feb. 20001 861 inlägg
#13

Ids du posta alla relevant kod??

Medlem sedan feb. 200128 inlägg
#14

Jag vill bara tacka alla för all hjälp & fina tips.
Nu gjorde jag så här & det funkar fint:

////////////////////////////////////

if($start == 1)
{
echo "$file_array[0]";
}
elseif($start == 2)
{
echo "$file_array[1]";
}
elseif($start == 3)
{
echo "$file_array[2]";
}
elseif($start == 4)
{
echo "$file_array[3]";
}
elseif($start == 5)
{
echo "$file_array[4]";
}

O.s.v
////////////////////////////////////
Det finns säkert nåt mer stilrent sätt att göra det, men e man nybörjare så är man.
MVH/fjarne

Medlem sedan feb. 20001 861 inlägg
#15

Prova echo $file_array[$start-1];

[Redigerat av OlleBoop den 07 mar 2001]

311 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
167 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
163 ms — ändringar (db)