Page 1 of 1

Using exec() to get md5sum of a file, having a problem...

Posted: Thu Apr 01, 2010 11:35 am
by grdlock
First, I don't know PHP very well at all.

I have a page where people upload files through PHP, information about the person who uploaded the files and file description is stored in a file when they upload.

Basically, I want to have the md5sum of the file stored in that description as well so I can pull it when the files are listed.

Code: Select all

$md5file = "$current_dir/$filename";
$md5temp = exec('md5sum '.$md5file);
The problem is that most of the directories contain spaces. So it's executing the command "md5sum files\my files\file.zip" when it needs to be "md5sum files\my/ files\file.zip" since it's a linux system. I don't know how to check for any spaces that may be in $current_dir or $filename and change them to "/ " so that the command will execute correctly.

My second question is once I get the md5sum, it will be "32 characters files\my files\file.zip" .... how can I only extract the first 32 characters so I just get the actual md5sum, instead of the md5sum and directory/file that will be in the output?

Re: Using exec() to get md5sum of a file, having a problem..

Posted: Thu Apr 01, 2010 12:07 pm
by Benjamin
I believe you can put the file path in single quotes.

Re: Using exec() to get md5sum of a file, having a problem..

Posted: Thu Apr 01, 2010 12:29 pm
by AbraCadaver
Why not:

Code: Select all

$md5temp = md5_file($md5file);