In the function below, before I open the directory I first test to
make sure the address I have is, in fact, a directory. This function
was working fine on one web server running FreeBSD and PHP 4.06.
However, today I'm trying to run this software on a new server (RH
Linux 9, PHP 4.2.3) and the directory is failing the is_dir() test.
The error message that I have in my code is printing out this error:
In getListOfAnyDirectory(), we expected the function to be handed an
address to a directory, but instead we were given this:
ppArrangementsPublic/.
Now, ppArrangementsPublic/ looks like a directory to me. So why is it
failing the test?
function getListOfAnyDirectory($address=false) {
// 03-17-04 - this function should be given an address to a folder.
$controllerForAll = & getController();
$resultsObject = & $controllerForAll->getObject("McResults", " in
getListOfAnyDirectory().");
$theDirFilesArray = array() ;
$address2 = str_replace("/", "", $address);
if (is_dir($address) || is_dir($address2)) {
// open the directory and load all the files into an array
$theDir = @ opendir($address);
if ($theDir) {
// We go through the array one element at a time, putting it into a
new array, minus invisible files
//marked by "." and ".."
while ($theDirFiles = readdir ($theDir)) {
if ($theDirFiles != "." && $theDirFiles != "..") {
$theDirFilesArray[] = $theDirFiles ;
}
}
closedir ($theDir) ;
return $theDirFilesArray;
} else {
$resultsObject->error("In getListOfAnyDirectory(), we tried to open
the directory at the address $address, but for some reason it didn't
open.", "getListOfAnyDirectory");
}
} else {
$resultsObject->error("In getListOfAnyDirectory(), we expected the
function to be handed an address to a directory, but instead we were
given this: $address.", "getListOfAnyDirectory");
}
} 4 3714
"lawrence" <lk******@geocities.com> wrote in message
news:da*************************@posting.google.co m... In the function below, before I open the directory I first test to make sure the address I have is, in fact, a directory. This function was working fine on one web server running FreeBSD and PHP 4.06. However, today I'm trying to run this software on a new server (RH Linux 9, PHP 4.2.3) and the directory is failing the is_dir() test. The error message that I have in my code is printing out this error:
In getListOfAnyDirectory(), we expected the function to be handed an address to a directory, but instead we were given this: ppArrangementsPublic/.
Now, ppArrangementsPublic/ looks like a directory to me. So why is it failing the test?
<snip>
I can only speculate that your "directory" is not only not a directory, but
doesn't actually exist at all. Does file_exists() return 1? Can you find it
using the shell?
Garp
Regarding this well-known quote, often attributed to lawrence's famous "30
Apr 2004 16:20:44 -0700" speech: In the function below, before I open the directory I first test to make sure the address I have is, in fact, a directory. This function was working fine on one web server running FreeBSD and PHP 4.06. However, today I'm trying to run this software on a new server (RH Linux 9, PHP 4.2.3) and the directory is failing the is_dir() test. The error message that I have in my code is printing out this error:
In getListOfAnyDirectory(), we expected the function to be handed an address to a directory, but instead we were given this: ppArrangementsPublic/.
Now, ppArrangementsPublic/ looks like a directory to me. So why is it failing the test?
(snip code)
Just some shots in the dark here... try sending it
"./ppArrangementsPublic/", "./ppArrangementsPublic", or just
"ppArrangementsPublic" (no trailing slash). That might be confusing it.
Also, make sure your script is running in the current directory you think
it is.
--
-- Rudy Fleminger
-- sp@mmers.and.evil.ones.will.bow-down-to.us
(put "Hey!" in the Subject line for priority processing!)
-- http://www.pixelsaredead.com
FLEB <so*********@mmers.and.evil.ones.will.bow-down-to.us> wrote in message news:<1f****************************@40tude.net>.. . Regarding this well-known quote, often attributed to lawrence's famous "30 Apr 2004 16:20:44 -0700" speech:
In the function below, before I open the directory I first test to make sure the address I have is, in fact, a directory. This function was working fine on one web server running FreeBSD and PHP 4.06. However, today I'm trying to run this software on a new server (RH Linux 9, PHP 4.2.3) and the directory is failing the is_dir() test. The error message that I have in my code is printing out this error:
In getListOfAnyDirectory(), we expected the function to be handed an address to a directory, but instead we were given this: ppArrangementsPublic/.
Now, ppArrangementsPublic/ looks like a directory to me. So why is it failing the test?
(snip code)
Just some shots in the dark here... try sending it "./ppArrangementsPublic/", "./ppArrangementsPublic", or just "ppArrangementsPublic" (no trailing slash). That might be confusing it. Also, make sure your script is running in the current directory you think it is.
I think the problem was the capitalization, which worked on a Windows
server but not on a Linux server. Is there a way to get PHP to look
for directories in a case insensitive manner when it is on Linux?
Regarding this well-known quote, often attributed to lawrence's famous "3
May 2004 18:58:21 -0700" speech: FLEB <so*********@mmers.and.evil.ones.will.bow-down-to.us> wrote in message news:<1f****************************@40tude.net>.. . Regarding this well-known quote, often attributed to lawrence's famous "30 Apr 2004 16:20:44 -0700" speech:
In the function below, before I open the directory I first test to make sure the address I have is, in fact, a directory. This function was working fine on one web server running FreeBSD and PHP 4.06. However, today I'm trying to run this software on a new server (RH Linux 9, PHP 4.2.3) and the directory is failing the is_dir() test. The error message that I have in my code is printing out this error:
In getListOfAnyDirectory(), we expected the function to be handed an address to a directory, but instead we were given this: ppArrangementsPublic/.
Now, ppArrangementsPublic/ looks like a directory to me. So why is it failing the test?
(snip code)
Just some shots in the dark here... try sending it "./ppArrangementsPublic/", "./ppArrangementsPublic", or just "ppArrangementsPublic" (no trailing slash). That might be confusing it. Also, make sure your script is running in the current directory you think it is.
I think the problem was the capitalization, which worked on a Windows server but not on a Linux server. Is there a way to get PHP to look for directories in a case insensitive manner when it is on Linux?
Hmm... if there isn't a function for that in PHP already, I imagine you
could iterate through a directory reading and use a case-insensitive string
match.
--
-- Rudy Fleminger
-- sp@mmers.and.evil.ones.will.bow-down-to.us
(put "Hey!" in the Subject line for priority processing!)
-- http://www.pixelsaredead.com This discussion thread is closed Replies have been disabled for this discussion. Similar topics
8 posts
views
Thread by Oliver |
last post: by
|
10 posts
views
Thread by robinpg.SHU |
last post: by
|
2 posts
views
Thread by ykgoh |
last post: by
|
19 posts
views
Thread by laredotornado |
last post: by
|
11 posts
views
Thread by comp.lang.php |
last post: by
|
10 posts
views
Thread by howa |
last post: by
|
5 posts
views
Thread by roby |
last post: by
|
4 posts
views
Thread by techusky |
last post: by
| | | | | | | | | | | |