PHOP标头 - 从PHP脚本打开CSV文件

I have the below code to open a CSV file, but for some reason it looks to be converting shopkeeper/89137.csv to shopkeeper_89137.csv. It keeps opening a blank csv file obviously because its looking for a file that isnt there. What is the proper way to reference a file in order to open it?

            header("Content-type: text/csv");
            header("Content-Disposition: attachment; filename=shopkeeper/89137.csv");
            header("Pragma: no-cache");
            header("Expires: 0");

The headers should only include the base name of the file being sent. On the receiving end of things, it thinks you're trying to pass it a file with the name "shopkeeper/89137.csv" which, on most operating systems, contains an illegal character (/) for a file name, so it gets converted to an underscore.

You should probably tweak the line to read:

header("Content-Disposition: attachment; filename=89137.csv");

Actually, the / character is reserved and cannot be used as a filename!!

I would reconsider your naming scheme...

Referencing file paths is not ideal in the HTTP header. You must reference only "89137.csv" for the filename, and then process your file by appending "shopkeeper/" to the filename in your file opening function. Remember that you can still use variables in the header string parameter.