gpt4 book ai didi

php glob 和 scandir 函数在网络服务器上不起作用

转载 作者:行者123 更新时间:2023-11-30 23:08:12 25 4
gpt4 key购买 nike

我在我的网站上使用这个 glob 函数不知道是什么问题。在这上面浪费了太多时间。它在本地主机上工作但在网络服务器上不工作。请帮助我

代码:

 $result = mysql_query($qry) or die ("Query failed");
$count=mysql_num_rows($result);
$HTML='';
if($count > 0){
while ($friendList = mysql_fetch_array($result))
{

$_SESSION['PropertyId'] = $friendList['property_Id'];
$Username = $friendList['UserName'];
$qry1 = "SELECT Mobile_Number1,FirstName FROM registration WHERE UserName = '".$Username."'";
$result1 = mysql_query($qry1) or die ("Query failed");
$friendList1 = mysql_fetch_array($result1);
$mobNo = $friendList1['Mobile_Number1'];
$Name = $friendList1['FirstName'];
$image = "";
$dir = "propertyImages/".$friendList['property_Id']."";
$files = array();
$files = glob("$dir/*.*");
$image = "";
print_r($files);
if (count($files) > 0)
{
$image = $files[0];
}
else
{
$image = 'img/1.jpg';
}

最佳答案

正如@Emilio 所说,尝试使用 readdir() 而不是 glob(),尤其是因为您并不真正需要 glob() 提供的模式识别。

你能试试这个吗?

// enable error reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');

// initialise empty $files array
$files= array();

if (file_exists($dir)) {
$dh= opendir($dir);
if ($dh) {
while ($file= readdir($dh)) {

// skip "." and ".."
if ($file != "." && $file != "..") {
echo "$file\n";
$files[]= $file;
}
}
closedir($dh);
} else {
print 'Directory handle could not be opened.';
}
} else {
print 'Directory not accessible or does not exist.';
}

一般评论:

1.) @Emilio 关于 mysql_* 函数的评论的另一个 +1

2.) 如果您在共享主机上运行脚本,您可能还会遇到由于启用 safe_mode 导致的问题。

3.) 使用 ajax 调用时检查错误:Firebug 的网络面板将显示从服务器返回的响应,只需在调用时将其打开即可。如果服务器输出任何错误,您将在相应 AJAX 调用的“响应”选项卡上看到错误。

4.) 关于代码:$image 或 $files 之类的变量如果直接覆盖就不需要初始化,$dir = ... 末尾的两个双引号> 也已过时。我还建议决定一种变量样式,最好是在 $ 之后带有小写字母的 CamelCase 语法。

关于php glob 和 scandir 函数在网络服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20945023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com