webForumDet fria alternativet

Fel i while-slinga?

2 svar · 180 visningar · startad av pettsson

pettssonMedlem sedan jan. 20021 122 inlägg
#1

Jag försöker visa alla bilder i en mapp med hjälp av nedanstående kod, men av någon anledning verkar det som om while slingan skulle fortsätta även efter att vilkoret brutits, inte bara en gång igenom, utan två...

				while(file_exists("$Bildfil"))
				{
					print "<br>Från album $Serienummer<br><br>";

					$Bildnummer = 1;
					while(file_exists("$Bildfil"))
					{
						$Bildfil = "$Bildmapp/" . (string)$Serienummer . "/" . (string)$Bildnummer . ".jpg";
						$Bildstorlek = GetImageSize("$Bildfil");
						$Bildbredd = $Bildstorlek[0];						
						$Bildhojd = $Bildstorlek[1];
						$Bildratio = $Bildhojd / $Bildbredd;
						$Bildbredd = 350;
						$Bildhojd = 350 * $Bildratio;
						
						print "<img src=$Bildfil height=$Bildhojd width=$Bildbredd><br><br>";
						
						$Bildnummer++;
					}
					
					$Serienummer++;
					$Bildfil = "$Bildmapp/" . (string)$Serienummer . "/" . (string)$Bildnummer . ".jpg";
				}
sabbacusMedlem sedan juli 2002630 inlägg
#2

eftersom du instruerar while-loopen att köras så länge filen existerar kommer den helt sonika att köras så länge filen existerar.

pettssonMedlem sedan jan. 20021 122 inlägg
#3

Men den fortsätter även när filen inte finns... Jag har en mapp med tre undermappar, 1, 2 och 3. I mapp 1 ligger filerna 1.jpg och 2.jpg. Men när scriptet körs försöker den även öppna bilderna 3.jpg och 4.jpg, vilket genererar ett filen finns inte fel. Samma sak med mapparna 2 och 3, den försöker läsa 2 filer mer än vad som finns.

124 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)