webForumDet fria alternativet

lista filer på ftp med php

PHP

2 svar · 325 visningar · startad av Qonos

Medlem sedan sep. 2000438 inlägg
Frågan#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*)

Medlem 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.

Medlem sedan sep. 2000438 inlägg
#3

ahh silly me :) tack!

249 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)