我正在使用plupload將多個文件上傳到我的服務器。使用這個,有一個參數'url:'upload.php'。 upload.php會在收到文件時捕獲這些文件,並且如果它們被分塊,可能會重新組合這些文件。收到完整文件後,它會將回復發送回原始頁面,顯示綠色複選框圖標。爲什麼php重命名()會破壞我的文件?
我已經添加了一些代碼到這個頁面,所有的主要代碼來操縱我上傳的照片。我的計劃是爲我的全尺寸圖像創建三個副本,lg,med和small。我得到這部分工作,但後來決定首先重命名原始文件,以匹配我的命名方案。
我現在得到一個損壞的重命名文件,因此我的三個較小的圖像也被損壞。
//get the original file info
$filepath = $_SERVER['DOCUMENT_ROOT'].'/uploads/';
$filepathinfo = pathinfo($filepath.$fileName);//fileName is used previously in the file
//rename original file to a unique name
$finding_id = 'xyz';
$file_name_new = uniqid($client_id . '-' . $finding_id . '-', true); //doesn't include extension
//rename($filepath.$fileName, $filepath.$file_name_new.'.'.$ext);
//copy($filepath.$fileName, $filepath.$file_name_new.'.'.$ext);
原樣,我讓我的一個文件,要不我怎麼過很多上傳,字節大小匹配原裝準確和名稱保持不變(除了去除特定字符的)。
如果我只取消註釋重命名功能,我實際上得到兩個文件。字節大小合計原始照片。較大的文件在底部顯示一段灰色。較小的文件根本不顯示。
如果我取消只複製功能,讓我的原文件完全相同的重命名副本,我的原始文件,以及其他文件中,相同的尺寸和腐敗較大的文件做一個重命名。
任何想法?似乎它應該是非常簡單的。
上傳文件的過程是否完成?文件描述符是否關閉?所有的緩衝區都被刷新了? – Konerak 2011-05-05 21:35:32
根據該解決方案:http://stackoverflow.com/questions/3159431/php-change-file-extension,一個解決辦法是使用拷貝。不過,它不應該那樣做。 – Horus 2011-05-05 21:35:40
@Horus - 我試過複製,但結果很奇怪。這個Pluploader一定會有一些事情發生,我從來沒有用過。 – Bob 2011-05-06 16:58:44