我正在一個網站,其中用戶可以上傳圖像(使用PHP 4.3.11)。文件上傳沒有問題,因爲我可以在上傳目錄中看到它們,並且我沒有收到任何錯誤消息,但是當我嘗試通過ftp訪問上載的文件時,出現錯誤:沒有這樣的文件或目錄 。有時,我能夠訪問文件,有時我得到這個錯誤。這裏可能是什麼問題?通過php上傳的文件:沒有這樣的文件或目錄
[更新]
感謝您的幫助球員。我不熟悉ftp守護進程的東西。但我通過使用FireFTP通過ftp訪問我的文件。該文件在那裏,但試圖下載它們或更改文件屬性時,我得到了上述錯誤。我也嘗試通過ftp上傳文件夾中的文件,我可以下載它沒有問題。
這裏是我正在研究的一些代碼,它的一種迂迴,但我會看到如何改進它。
我的工作目錄是這樣www.domain.com/register/
和上傳目錄是在這裏www.domain.com/register/uploads/
用戶需要註冊並在註冊後在上傳目錄中爲他們創建一個文件夾。我無法找到一種方法來創建一個文件夾,而不必在上傳文件夾本身,所以我重定向到create-user-folder.php文件在上傳 dir。
文件只包含此代碼:
$user_foldername = rawurldecode($_GET['name']); mkdir($user_foldername); header("Location: ../form.php"); // redirect back to the page
我檢查和創建文件夾的權限設置爲775
,這裏是我在上傳使用的代碼(/註冊/功能的一部分/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); } }
我檢查使用FireFTP的和文件在/uplo ads/user_foldername/目錄及其權限設置爲664.奇怪的是,當我嘗試下載文件時,有時根本沒有問題,但有時會出現錯誤。
[其他更新] 我的副本()函數後添加CHMOD(),
$filename = $_FILES[$file]['name'][$j]; copy($_FILES[$file]['tmp_name'][$j],$path.$filename); chmod($path.$filename, 0755);
,但我仍然得到錯誤。
另一件事是,當我訪問/通過URL註冊/上傳/ user_foldername/,我可以看到所有上傳的文件,並查看它們,但它是如何,我無法通過FTP訪問它們?
再次感謝!
請提供操作系統,其中錯誤是可複製的。 – 2009-11-05 08:34:21
某些代碼會很好,很難判斷它是一個許可問題還是一個基本路徑問題 – 2009-11-05 12:59:02