webForumDet fria alternativet

lista filer på ftp med php

PHPur PHP

2 svar · 325 visningar · startad av Qonos

QonosMedlem sedan sep. 2000438 inlägg
#1

Tjenare, vet inte hur användt detta forumet är men jag provar och se om jag får svar på mitt lilla problem

använder denna koden för att ladda upp bilder på servern, och den fungerar som den skall

		if ($ftp = ftp_connect(FTP_HOST,FTP_PORT)) 
		{ 
			if (@ftp_login($ftp, FTP_USERNAME, FTP_PASSWORD)) 
			{ 
				if (ftp_chdir($ftp, "www.xxx.nu/images/network/")) 
				{ 
					if (ftp_put($ftp,($_POST["typeofimage"] == "logo"?"logo.":"").$_GET["networkid"].$filetype, $HTTP_POST_FILES['varFileName']['tmp_name'], FTP_BINARY)) 
					{ 
						unlink($HTTP_POST_FILES['varFileName']['tmp_name']); 
					} 
					else 
					{ 
						echo "File upload failed<br>\n"; 
					} 
				} 
				else 
				{ 
					echo "ftp_chdir() failed<br>\n"; 
				} 
			} 
			else 
			{ 
				echo "ftp_login() failed<br>\n"; 
			} 
		ftp_close($ftp);

men när jag försöker lista upp filerna som ligger i den katalogen med denna koden

			if ($ftp = ftp_connect(FTP_HOST,FTP_PORT)) 
			{ 
				if (@ftp_login($ftp, FTP_USERNAME, FTP_PASSWORD)) 
				{ 
					if ($handle = opendir("www.xxx.nu/images/network/")) 
					{
					   echo "Directory handle: $handle\n";
					   echo "Files:\n";
					
					   /* This is the correct way to loop over the directory. */
					   while (false !== ($file = readdir($handle))) 
					   { 
					       echo "$file\n";
					   }
					   closedir($handle); 
					}
				} 
				else 
				{ 
					echo "ftp_login() failed<br>\n"; 
				} 
			
				ftp_close($ftp); 
			} 
			else 
			{ 
					echo "ftp_connect() failed<br>\n"; 
			}

Då får jag

Warning: opendir(https://www.xxx.nu/images/network/): failed to open dir: No such file or directory

det är här jag tycker det är skumt eftersom jag kan ladda upp filer i katalogen men när jag skall lista filerna så säger den att katalogen inte finns.

e det bara jag som e trög och inte riktigt hänger med i ftp grejset via php, eller e det nått annat (antagligen inte *S*)

kjellMedlem sedan dec. 1999757 inlägg
#2

Du använder opendir men det är ju inget ftp-kommando och utgår därför inte ifrån den mapp du loggade in i.
När du loggar in via ftp så är det bättre du använder de list-kommando som finns för ftp-servrar. Ta en titt på t.ex. ftp_nlist eller ftp_rawlist för att lista filer.

QonosMedlem sedan sep. 2000438 inlägg
#3

ahh silly me :) tack!

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