473,385 Members | 2,029 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

filtype() Problems

Hi,

I wrote a simple script utilizing readdir() to read the contents of a
directory, then of all subdirectories and thier contents and echo the
filenames to the page.

But, here is the problem. I'm also echo'ing filtype() to ensure only
files and not the directory names are printed. But I've noticed some of
the files are not returning a type.

Has anyone seen this before? Am I just crazy?

Thanks for your help,

Kevin
Dec 30 '05 #1
4 1481
The files in question do give a filetype() and a '1' for file_exists()
if I move them to the top level directory, but not when in the sub
directory. Again, this only happens with some files. Others return valid
types and '1's.

Is there a reason why I wouldn't be able to get filetype from some files
in a directpory but not others? The permissions appear to be all correct
and this happens on Windows IIS and Apache.

I'm at a loss... attached is the part of the script in question.

for ($i=0; $i < count($dirnames); $i++)
{
echo "<br/>";
echo $dirnames[$i] . "<br/>";
echo filetype($subnames[$dirnames[$i]][0]) . "<br>";

for ($b=0; $b < count($subnames[$dirnames[$i]], COUNT_RECURSIVE); $b++)

if (filetype($subnames[$dirnames[$i]][$b])=='file')
{ echo filetype($subnames[$dirnames[$i]][$b]) . " - " .
$subnames[$dirnames[$i]][$b] . "<br/>";
}
}



Kevin Cloutier wrote:
Hi,

I wrote a simple script utilizing readdir() to read the contents of a
directory, then of all subdirectories and thier contents and echo the
filenames to the page.

But, here is the problem. I'm also echo'ing filtype() to ensure only
files and not the directory names are printed. But I've noticed some of
the files are not returning a type.

Has anyone seen this before? Am I just crazy?

Thanks for your help,

Kevin

Dec 30 '05 #2
Are you not getting anything in return for the files that do not
produce a type?
From the manual:

"Returns FALSE if an error occurs. filetype() will also produce an
E_NOTICE message if the stat call fails or if the file type is
unknown."

Set your error reporting for the script to report all errors to try an
pinpoint what is happening. It is hard to tell not seeing the rest of
the script and your filesystem.

Dec 30 '05 #3
Also you can try to use is_dir() to see if you have a file or
directory. Sorry just thought of that.

Dec 30 '05 #4
Hi Jeff,

Thanks for the help. For now I have found a work around. For some reason
this is only effecting some of the files and not any directories. So,
instead of using filetyp()=='file' it dawned on me to use !='dir'. That
seems to work fine for my needs.

But you're right about error messaging, as you can tell I'm still new at
this so I will have to investigate turning this on today.

With that said, this is completely baffling. For the files that don't
produce a type I don't see anything printed to the screen. Maybe a NULL
value is returned? I wonder if I can check that? But it gets stranger.

At first I thought it was a problem with my for loop. But if I "copy"
the files that do give a type, and place the copies in the same
directory (i.e. "file.txt" copied to "copy_file.txt"), they DO give a
type. So it's not the loop.

I've tried this on a Mac, Windows IIS and Linux, so strange. But I'll
see what I find in the error logs.

Again, thanks for the help,

Kevin

Jeff Johns wrote:
Are you not getting anything in return for the files that do not
produce a type?
From the manual:

"Returns FALSE if an error occurs. filetype() will also produce an
E_NOTICE message if the stat call fails or if the file type is
unknown."

Set your error reporting for the script to report all errors to try an
pinpoint what is happening. It is hard to tell not seeing the rest of
the script and your filesystem.

Dec 30 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Jerome Lefebvre | last post by:
Hello, Hope this will interest a few. I been working with a friend on the problems given out during the "International Collegiate Programming Contest" (ICPC) http://icpc.baylor.edu/icpc/ ....
14
by: Jim Hubbard | last post by:
Are you up to speed on the difficulties in using the 1.1 .Net framework? Not if you are unaware of the 1,596 issues listed at KBAlertz (http://www.kbalertz.com/technology_3.aspx). If you are...
1
by: 3f | last post by:
Hello; We have made a web application that people can download from our web site and installed on: Windows XP Windows 2000 Professional Windows 2003 Server Windows 2000 Server
5
by: Corky | last post by:
This works: db2 SELECT DISTINCT PROBLEM_OBJECTS.PROBLEM_ID FROM PROBLEM_OBJECTS INNER JOIN PROBLEMS ON PROBLEM_OBJECTS.PROBLEM_ID = PROBLEMS.PROBLEM_ID WHERE INTEGER(DAYS(CURRENT DATE) -...
2
by: Ellen Graves | last post by:
I am having a lot of problems with DB2 8.3.1 on RH Linux AS2.1. Installing and running stored procedures is problematic. Stored procedures I have used for years on V7 on WinNT are now failing...
19
by: Jim | last post by:
I have spent the past few weeks designing a database for my company. The problem is I have started running into what I believe are stack overflow problems. There are two tab controls on the form...
10
by: BBFrost | last post by:
We just recently moved one of our major c# apps from VS Net 2002 to VS Net 2003. At first things were looking ok, now problems are starting to appear. So far ... (1) ...
2
by: Brian | last post by:
NOTE ALSO POSTED IN microsoft.public.dotnet.framework.aspnet.buildingcontrols I have solved most of my Server Control Collection property issues. I wrote an HTML page that describes all of the...
0
by: Sergistm | last post by:
Hello World, :D I have a problem that it is making me crazy, I hope you can help me. I'm trying to execute a .exe file with the Procces.Start, and there is no problem when the file is on my...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.