PHP Resim Yükleme sorun

3 Cevap php

Ben şu anda bir Joomla üzerinde çalışıyorum! web sitesi. Ben basit bir dosya yükleme aracı oluşturmak için (özel komut yapılan ve Joomla içinde idam edilmelerini sağlar! Kendisi) Jumi uzantısı kullanıyorum. Sorun aşağıdaki hatayı alıyorum olduğunu:

Warning: kopya (C :/ xampp/htdocs/images/1253889508.jpg) [function.copy]:) (eval: C:\xampp\htdocs\Joomla\components\com_jumi\jumi.php(25) Böyle bir dosya ya da dizin yok: failed to open stream 'on line d code 61

Aşağıdaki gibi Soruna kodu:

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname='C:/xampp/htdocs/images/'.$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_FILES['image']['tmp_name'], $newname);

Tam kodu kullanılabilir here. Ben bu çalışma olsun, benim web sitesi ihtiyaçlarını karşılayacak şekilde modifiye edilecek.

Sorun Jumi izinleri bir sorun olup olmadığını ya da başka bir sorun varsa emin değilim. Söyleyebileceğim en iyi hangi nedenle olursa olsun, geçici dosya yaratılıyor olmasıdır.

Olabilecek herhangi bir ipucu için teşekkürler!

3 Cevap

Bu deneyin:

if(move_uploaded_file($_FILES['image']['tmp_name'], $newname)){
    // move worked, carry on
}

Ve göreli yolları yerine mutlak olanları kullanın.

does your C:/xampp/htdocs/images directory actually exists?
if not create it manually or with mkdir()

Ayrıca yerine bölü hardcoding sürekli DIRECTORY_SEPARATOR kullanmayı deneyin

Ayrıca bunun için move_uploaded_file () değil, copy () işlevini kullanmanız gerekir.

Ve asla komut içine hardcode mutlak yolları! yerine kök yolunu almak ve preferibly sürekli olarak ayarlayın, bu çoğunlukla girdi dosyasında dirname () fonksiyonu ile yapılır, ama joomla allready bunun için kullanabileceğiniz bir sabit vardır.

İleri $namename yolundan ziyade ters eğik eğik çizgi?