Hi, I am having a pretty difficult time getting files to upload to my server that have a Single Quote in the file name.
Example:

myfile's.pdf

I need to strip the file name of the quote before it uploads to the server.
I currently am using SWFUpload and this is the bit of code that was included with it.

I need to modify it to remove the single quotes as well. Been hammering my head over this all day.

	$file_name = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES[$upload_name]['name']));
	if (strlen($file_name) == 0 || strlen($file_name) > $MAX_FILENAME_LENGTH) {
		HandleError("Invalid file name");
		exit(0);
	}

thanks

    It would appear that the preg_replace() in that code snippet is already filtering out invalid characters, so what does the $valid_chars_regex variable look like? Presumably it must contain a single quote (or character class that includes the single quote), otherwise that line will already be stripping out single quotes from the file name.

      Here it is. In this case do I need to take out the following?
      \'

      $valid_chars_regex = '.A-Z0-9_ !@#$%^&()+={}\[\]\',~`-';
        Smudly wrote:

        do I need to take out the following?

        Well... that's a question only you can answer (hint: you've already answered it :p). If you want it to be a valid character, then no. If you don't, then yes.

          Write a Reply...