PHP使用copy函數複製windows文件時出現failed to open stream: Invalid argument in錯誤

原始代碼:

$source = 'G:\www\offline\版本號.txt';
$destination = __DIR__ . DIRECTORY_SEPARATOR . 'll.txt';
copy($source,$destination);

報錯 Warning: copy(G:\www\offline\版本號.txt): failed to open stream: Invalid argument in
錯誤原因:字符集錯誤,windows默認的字符集是GBK,而當前的字符集是UTF-8,所以就出現這個錯誤。解決這個錯誤使用iconv函數轉換字符集即可。

修改後的代碼:

$source = iconv("UTF-8","GBK//IGNORE",'G:\www\offline\版本號.txt');
$destination = __DIR__ . DIRECTORY_SEPARATOR . 'll.txt';
copy($source,$destination);

使用iconv轉換字符集,//IGNORE的意義是用來忽略轉義字符集時忽略錯誤,繼續執行。

發佈了44 篇原創文章 · 獲贊 36 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章