Sunucum için birden fazla dosya yüklemek için plupload kullanıyorum. Bunu kullanarak, 'url:' upload.php 'parametresi vardır. upload.php, dosyaları alındıklarında yakalar ve yığınlanırsa bunları yeniden birleştirebilir. Tam dosya alındıktan sonra, orijinal sayfaya geri bir cevap gönderir ve yeşil bir onay kutusu simgesi görüntülenir.Neden php rename() dosyama zarar veriyor?
Yüklediğim fotoğrafları değiştirmek için tüm ana kodlardan sonra bu sayfaya bir kod ekledim. Planım, tam boy resmimin lg, med ve küçük üç kopyasını oluşturmak. Bu kısmı çalıştım, ancak daha sonra ilk dosyama adlandırma planımla eşleşmeye karar verdim.
Artık bozuk bir dosya aldım ve böylece üç küçük resmim de bozuk.
//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);
Olduğu gibi benim bir dosya almak, ya da ben yükleme şeklinizi hiç birçok bayt boyutu orijinal tam olarak eşleşir ve ad (bazı karakterlerin çıkarılması hariç) aynı kalır.
Yalnızca yeniden adlandırma işlevinden rahatsızlık duyarsam, aslında iki dosya alırım. Bayt boyutları orijinal fotoğrafı toplamalı. Büyük dosya, alt kısımda gri bir bölümle görüntülenir. Küçük dosya hiç görüntülenmiyor.
Yalnızca kopyalama işlevinden rahatsızlık duyarsam, orijinal dosyamın, orijinal dosyamın ve başka bir dosyanın tam olarak yeniden adlandırılmış bir kopyasını, daha büyük bir dosya yeniden adlandırılırken aynı boyutta ve yolsuzluğa sahip olurum.
Herhangi bir fikrin var mı? Oldukça basit olması gerektiği gibi görünüyor.
Dosya yüklenen işlem tamamlandı mı? Dosya tanıtıcı kapalı mıydı? Tüm tamponlar temizlendi mi? – Konerak
Bu çözüme göre: http://stackoverflow.com/questions/3159431/php-change-file-extension, bir geçici çözüm kopya kullanmaktır. Yine de, bunu yapmamalı. – Horus
@Horus - Kopyalamayı denedim, ancak sonuçların tuhaflığını da buldum. Daha önce hiç kullanmadığım bu Pluploader ile bir şeyler olmalı. – Bob