webForumDet fria alternativet

Läsa från CD-rom, tappar vissa saker.

PHP

2 svar · 284 visningar · startad av UrMe

Medlem sedan apr. 2001762 inlägg
Frågan#1

Jag har en funktion där man matar in t.ex "d:" för att läsa innehållet på skivan och sedan föra in det i en mysql databas, det fungerar väl hyffsat förutom att vissa katalognamn inte följer med.

Här är koden:

function read($from_path) {

	global $pDirectoryId;

	$this_path = getcwd();

	if (is_dir($from_path)) {

		//move into the target dir
		chdir($from_path);

		//get handle of current dir.
		$handle=opendir('.');

		//read contents of directory
		while (($file = readdir($handle))!==false) {

			//test for parent dir info
			if (($file != ".") && ($file != "..")) {

				//if the item is a dir, recurse into it
				if (is_dir($file)) {

					//recurse
					read($from_path.$file."/");

					//change dir back up
					chdir("..");

				}

				if (is_file($file)){

					//copy($from_path.$file, $to_path.$file);
					$mPath = "$this_path\\". $file;
					showFile($mPath, $file);

				}
			}
		}
	}
}

function showFile($mPath,$file){

	global $diskid;

	//test for exceptions
	if(($file != ".AppleFileInfo") && (substr($file, -2) != "RF") && ($file != ".DS_Store")){

		//escape slashes
		$mPath = mysql_escape_string($mPath);

		//insert into database
		$query = "insert into files (diskid, filename) values ($diskid, '$mPath')";

		echo "<br>$mPath";

		$result = mysql_query($query);

	}

}

Problemet är att ibland blir det t.ex så här på "echo $mPath;"

D:\minkatalog\\minfil.psd
D:\minkatalog\Bilder\minbild.jpg

Den översta filen ligger egentligen här:
D:\minkatalog\Bilder\minfil.psd

Och den andra filen ligger egentligen här:
D:\minkatalog\Bilder\bilder\minbild.jpg

Den tar bort Bilder katalogen av någon anledning, det är inte bara på Bilder katalogen utan detta dyker upp helt slumpmässigt på kataloger med en massa olika namn

Någon som fel något fel i funktionen?

Jag kör Apache på en windowsburk.

Medlem sedan apr. 2001762 inlägg
#2

Ingen som har en liten idé vad det kan vara? Eller ge mig en ny funktion som gör något liknande som fungerar :)

Medlem sedan apr. 2001762 inlägg
#3

Jag skippade denna rad:

$this_path = getcwd();

Och skickade med $from_path istället till showFile här:

$mPath = "$from_path". $file;
showFile($mPath, $file);

Då visar den rätt sökvägar iallafall, verkar som getcwd(); buggar av någon anledning :(

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)