PDA

View Full Version : سوال: لیست کردن فایلهای هاست



premier
سه شنبه 04 آبان 1389, 20:30 عصر
سلام
من میخام یه آرشیو از فایلهای خودم را که در پوشه ای تو هاست است را به صورت لینک لیست کنم یه اسکریپ میخام که این کارا کنه!


میتونید کمکم کنید؟

funpatogh
سه شنبه 04 آبان 1389, 20:32 عصر
<?php
$dir="folder";
$fp=opendir($dir);
while($read=readdir($fp)){
if($read!="." && $read!="..")
echo "<a href=$read><font face=tahoma size=2>$read</font></a><br><br>";

}
?>

premier
سه شنبه 04 آبان 1389, 20:54 عصر
اقا ببخشید این اررور را میده

500 - Internal Server Error

premier
سه شنبه 04 آبان 1389, 20:55 عصر
راستی این کد جواب نمیده من میخام ساب دایرکتوری هم داشته باشه!

funpatogh
سه شنبه 04 آبان 1389, 21:15 عصر
اینو تست کن


<?php

$dir="folder";
if ($fp = opendir($dir)) {

while (false !== ($read = readdir($fp))) {
if($read!="." && $read!="..")
echo "<a href=".urlencode($read)."><font face=tahoma size=2>$read</font></a><br><br>";

}
}
?>

binyaft
سه شنبه 04 آبان 1389, 21:30 عصر
راستی این کد جواب نمیده من میخام ساب دایرکتوری هم داشته باشه!

میتونید با کدی که Funpatogh عزیز ارائه دادند پوشه های دیگر را با تابع is_dir شناسایی کنید و محتوای هر کدام را جداگانه بخوانید
http://php.net/manual/en/function.is-dir.php

funpatogh
سه شنبه 04 آبان 1389, 21:50 عصر
راستی این کد جواب نمیده من میخام ساب دایرکتوری هم داشته باشه!
برای اینکه تمام فایل ها و فولدر ها و زیر مجموعه فولدر های داخل و ... رو هم نمایش بدهد میتوانید از این کد هم استفاده کنید


<?php
function ListFiles($dir) {

if($dh = opendir($dir)) {

$files = Array();
$inner_files = Array();

while($file = readdir($dh)) {
if($file != "." && $file != ".." && $file[0] != '.') {
if(is_dir($dir . "/" . $file)) {
$inner_files = ListFiles($dir . "/" . $file);
if(is_array($inner_files)) $files = array_merge($files, $inner_files);
} else {
array_push($files, $dir . "/" . $file);
}
}
}
closedir($dh);
return $files;
}
}

foreach (ListFiles('folder') as $key=>$file){
echo $file ."<br />";
}
?>

premier
چهارشنبه 05 آبان 1389, 00:48 صبح
دستتون درد نکنه ولی میخام دسترسی به تمام اون پوشه ها داشته باشم.

premier
چهارشنبه 05 آبان 1389, 00:49 صبح
برای اینکه تمام فایل ها و فولدر ها و زیر مجموعه فولدر های داخل و ... رو هم نمایش بدهد میتوانید از این کد هم استفاده کنید


<?php
function ListFiles($dir) {

if($dh = opendir($dir)) {

$files = Array();
$inner_files = Array();

while($file = readdir($dh)) {
if($file != "." && $file != ".." && $file[0] != '.') {
if(is_dir($dir . "/" . $file)) {
$inner_files = ListFiles($dir . "/" . $file);
if(is_array($inner_files)) $files = array_merge($files, $inner_files);
} else {
array_push($files, $dir . "/" . $file);
}
}
}
closedir($dh);
return $files;
}
}

foreach (ListFiles('folder') as $key=>$file){
echo $file ."<br />";
}
?>


این و اون بالایی اصلا کار نمیکنه

funpatogh
چهارشنبه 05 آبان 1389, 00:57 صبح
شما مطمئن هستی که هاستت php ساپورت میکنه مگه میشه عمل نکنه تمام این مثال ها از منابع معتبر و سایت php.net هست

premier
چهارشنبه 05 آبان 1389, 01:02 صبح
شما مطمئن هستی که هاستت php ساپورت میکنه مگه میشه عمل نکنه تمام این مثال ها از منابع معتبر و سایت php.net هست

آقا این ارور را میده و بعضی وقتها صفحه سفید میاد
500 - Internal Server Error

premier
چهارشنبه 05 آبان 1389, 01:26 صبح
کسی نیست جوابم را بده

SAMAN_PHP
چهارشنبه 05 آبان 1389, 13:13 عصر
این و اون بالایی اصلا کار نمیکنه
برای اینکه کد کار کنه باید یک مسیر معتبر بش بدی
بجای این:

'folder'

مسیر فعلی:

'./'
یا مسیر یک پوشه رو بش بده:

'./download'
------------------------------------------------------------------------------

آقا این ارور را میده و بعضی وقتها صفحه سفید میاد
500 - Internal Server Error
این ارور مربوط به سرور میشه وربطی به این کد نداره ولی احتمالا پوشه وفایلهای زیادی روی هاستت داری برای همین اجرای این کد سنگین میشه واین خطا رو میده.ممکنه هم مشکل از htaccess یا پرمیشن کم باشه