Filerna ligger alla i samma mapp på servern, men nu ska jag hämta/länka filerna till rätt användare, och rätt användare får jag genom att matcha RefID mot sessions ID't på den som loggar in.
Hur löser man detta smidigast, jag måste ju matcha ID't i RefIDi tablen UserFiles mot ID i tablen members, sen matcha filnamnet i UserFiles mot filerna i mappen Download och sen länka resultatet, annars "du har inga filer att ladda ner".
jag tänker mig något åt detta hållet..men jag vet inte riktigt
$query = "SELECT filename FROM UserFiles WHERE id = ".$_SESSION['sess_id']."";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$downdir = mappen med filer;
någonting ("$_GET['filename'] från $downdir
i en loop i och med att det kan vara flera filer.
länka till filen....
Jag har nu trixat lite med detta, och så här långt har jag komme
//Mappen med filerna
$upload_dir = 'download';
//#####################################################
//Hämtar filnamnet som valdes vid inläggning av filen##
//#####################################################
$query2 = "SELECT filename FROM UserFiles WHERE RefID = ".$_SESSION['sess_id']."";
$result2 = mysql_query($query2) or die('Query failed: ' . mysql_error());
echo "<br>";
while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
//################################################
//Hämtar ID't som valdes vid inläggning av filen##
//################################################
$query3 = "SELECT RefID FROM UserFiles WHERE RefID = ".$_SESSION['sess_id']."";
$result3 = mysql_query($query3) or die('Query failed: ' . mysql_error());
echo "<br>";
while ($line = mysql_fetch_array($result3, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
Suttit i en timme nu och letat efter funktioner där jag kan matcha filnamnen i databasen mot filnamnen i $upload_dir utan framgång. Hur ska jag på bästa sätt matcha och länka?
EDIT*
Nu har jag inläsningen och länkningen, men hur fixar jag det så att jag Bara visar/länkar filerna som har filnamnen jag hämtat i SELECT filename?
//Mappen med filerna
$upload_dir = 'download';
//#####################################################
//Hämtar filnamnet som valdes vid inläggning av filen##
//#####################################################
$query2 = "SELECT filename FROM UserFiles WHERE RefID = ".$_SESSION['sess_id']."";
$result2 = mysql_query($query2) or die('Query failed: ' . mysql_error());
echo "<br>";
while ($line2 = mysql_fetch_array($result2, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
/*
//################################################
//Hämtar ID't som valdes vid inläggning av filen##
//################################################
$query3 = "SELECT RefID FROM UserFiles WHERE RefID = ".$_SESSION['sess_id']."";
$result3 = mysql_query($query3) or die('Query failed: ' . mysql_error());
echo "<br>";
while ($line = mysql_fetch_array($result3, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
*/
$dir_handle = @opendir($upload_dir) or die("Unable to open $upload_dir");
while ($file = readdir($dir_handle)) {
if(!is_dir($file)) {
//$filesize = filesize($upload_dir.$file);
echo "Name: $file<br>>Download: <a href=\"$upload_dir/$file\">Click here!</a><br>------<br>";
}
}
closedir($dir_handle);
Kanske följande kan vara till någon nytta?
Du borde med hjälp utav denna kod kunna skapa en array med alla filer i en mapp, som du sedan kan jämföra med databasen.