dosya php üzerinden yüklendi: Böyle bir dosya ya da dizin yok

4 Cevap php

Ben kullanıcıların görüntüleri yükleyebilirsiniz neyin bir web sitesi üzerinde çalışıyorum (php 4.3.11 kullanır). dosyaları i yükleme dizininde onları görebilirsiniz ve ben herhangi bir hata mesajı alamadım gibi hiçbir sorun ile yüklendiği, ama ftp ile yüklenen dosyalara erişmeye çalıştığınızda, ben bir hata alıyorum edilir: no such file or directory . bazen ben bazen ben bu hatayı alıyorum dosyaya erişmek mümkün duyuyorum. burada ne sorun olabilir?

[update]
thanks for the help guys. i'm not familiar with the ftp daemon stuff. but i do access my files via ftp using FireFTP. the files are there but when try to download them or change the file properties, i get the said error. i also tried uploading a file in the folder through ftp and i was able to download it with no problem.

Burada üzerinde çalışıyorum kod bazı dolambaçlı onun tür ama ben bunu geliştirmek için nasıl göreceksiniz.

my working directory is something like this www.domain.com/register/
and the upload directory is here www.domain.com/register/uploads/

Kullanıcıların kayıt için gerekli olan ve kaydolma üzerine, bir klasör yüklenenler dizinde onlar için oluşturulur. öylesine i uploads dir in create-user-folder.php dosyasına yönlendirmek yüklenenler klasöründe kendisi olmak zorunda kalmadan bir klasör oluşturmak için bir yol bulamadı.

dosyası sadece bu kodu içeriyordu:

    $user_foldername = rawurldecode($_GET['name']);
    mkdir($user_foldername);
    header("Location: ../form.php");     // redirect back to the page

i kontrol ve oluşturulan klasörün izni 775 olarak ayarlanır.

ve burada ben yükleme kullanmak kod parçası (/register/function/function.php):

    $path = "../uploads/$user_foldername/";
    for($j = 0; $j < $num_of_uploads; $j++){
        if(is_uploaded_file($_FILES[$file]['tmp_name'][$j])){
    	    $filename = $_FILES[$file]['name'][$j];
    	    copy($_FILES[$file]['tmp_name'][$j],$path.$filename);
        }
    }

i FireFTP kullanarak kontrol ve dosyalar /uploads/user_foldername/ dizin ve onun izni 664 ayarlanır vardır. garip bir şey i zamanlarda, dosyaları indirmek için çalıştığınızda hiç sorun olacağını ama orada hata görünür zamanlardır.

[another update] i added chmod() after the copy() function,

    $filename = $_FILES[$file]['name'][$j];
    copy($_FILES[$file]['tmp_name'][$j],$path.$filename);
    chmod($path.$filename, 0755);

ama hala hata alıyorum.

başka bir şey i url üzerinden /register/uploads/user_foldername/ erişirken, ben yüklenen tüm dosyaları görmek ve bunları görebilirsiniz olduğunu, ama nasıl ben ftp yoluyla onlara erişemiyor olduğunu?

tekrar teşekkürler!

4 Cevap

Bu bir izin sorunu, ya da bir yapılandırma hatası ya değildir. Burada denemelisiniz şeyler şunlardır:

Yüklenen dosyaların izin nelerdir? FTP kullanıcı bu dosyalara erişimi var mı? Eğer FTP daemon kullanın ve dosyayı bu şekilde okuyabilir görmek istiyorum kullanıcı olarak oturum denediniz mi?

Eğer gerçekten doğru dizini görüyor musunuz? Eğer bu dizinde kendinizi bir dosya koyarak ve indirmeden tarafından doğrulandı mı? Eğer kullanmış ftp command ls Klasör / klasörleri / dosyaları varlığını doğrulamak için?

You might need to chmod the folder the files are in, or in some cases the files themselves. try chmoding them to 775

Sen chmod fonksiyonu ile, kendini öyle PHP ile dosya ve klasörleri chmod olabilir. Yoksa, böyle filezilla gibi bir FTP programı kullanabilirsiniz.

Ayrıca yoldaki tüm dizinleri geçilen çalıştırılabilir olması gerekir gibi ara dizinleri de, 755 olarak permissioned emin olmak için kontrol edin.

ben sadece sorunu anladım. |: çünkü ben her zaman hata mesajı alamadım açıklıyor içinde aksanlı karakterler, sahip dosya adının tamamını oldu

<sigh> ben bu daha önce gördük, ama yine de ben bu kimse aynı sorun koştu durumda yardımcı olur umarım.

tekrar teşekkürler! ben gerçekten takdir ediyorum :)