我使用函数move_uploaded_file
移动完成的上传。我注意到这不尊重目标目录的setgid位,并且具有该文件最初的含义。 (我了解到这是Linux的行为)。
问题的解决方案是什么?我想过将文件加载到PHP并重新保存,但文件可能非常大50MB +,这意味着PHP的内存使用量会增加。
答案 0 :(得分:1)
您可能有也可能无法访问system
来电,但只要遵守setgid位,system("cp")
甚至是明确的chgrp
都可能达到您想要的效果。如果现有组从目标目录到目标目录不同,您可能需要进行一些调查以获取现有组。
答案 1 :(得分:0)
尝试使用rename内置的PHP代替move_uploaded_file()。
答案 2 :(得分:0)
我早期已经解决了这个问题&13;并通过将move_uploaded_file
替换为copy
来修复此问题。
我不知道实际的性能和内存影响,但似乎无关紧要。