我想將照片保存在服務器中,但保存在其他文件夾中。該文件夾的結構是:使用Android將照片上傳到PHP的服務器文件夾中
---main folder
|
---uploadphoto.php
|
---photos (folder)
|
--$email (folder)
當用戶寄存器,I創建一個文件夾與權限0777的用戶名,該文件夾是成功創建。
當我嘗試上傳用戶文件夾內的照片,它不起作用,但如果我改變路徑來保存文件,它完美的作品。這意味着在用戶文件夾之外的文件夾「照片」中。
這是我的PHP代碼來保存文件夾中的照片:
$email = $_POST['email'];
$ruta = "photos/". $email . basename($_FILES['fotoUp']['name']);
if(move_uploaded_file($_FILES['fotoUp']['tmp_name'], $ruta))
chmod ("photos/". $email . basename($_FILES['fotoUp']['name']), 0644);
以及用戶名通過Android的傳遞:
List<NameValuePair> paramsu = new ArrayList<NameValuePair>();
paramsu.add(new BasicNameValuePair("email", email));
paramsu.add(new BasicNameValuePair("path", path));
JSONObject json = jsonParser.makeHttpRequest(UPLOAD_PHOTO_URL, "POST", paramsu);
我怎樣才能把照片的文件夾裏面?我認爲這是PHP語法的問題。我已經在Android中進行了調試,並將可變電子郵件內容發送給PHP。
註冊用戶時,創建文件夾的方式是。
$folderemail = $_POST['email'];
mkdir("photos/$folderemail", 0777);
chmod("photos/$folderemail", 0644);
這是我現在的文件:
$email = "$_POST['email']";
$ruta = "photos/". $email . "/" . basename($_FILES['fotoUp']['name']);
if(move_uploaded_file($_FILES['fotoUp']['tmp_name'], $ruta))
chmod ($ruta . basename($_FILES['fotoUp']['name']), 0644);
我也試過:
$email = "$_POST['email']";
$ruta = "photos/$email/" . basename($_FILES['fotoUp']['name']);
if(move_uploaded_file($_FILES['fotoUp']['tmp_name'], $ruta))
chmod ($ruta . basename($_FILES['fotoUp']['name']), 0644);
這:
//$email = "$_POST['email']";
$ruta = "photos/1234/" . basename($_FILES['fotoUp']['name']);
if(move_uploaded_file($_FILES['fotoUp']['tmp_name'], $ruta))
chmod ($ruta . basename($_FILES['fotoUp']['name']), 0644);
這完美的作品,但當我把變量$電子郵件與相同的名稱不起作用。
應用程序的一部分是這樣的:
List<NameValuePair> paramsu = new ArrayList<NameValuePair>();
paramsu.add(new BasicNameValuePair("email", email));
paramsu.add(new BasicNameValuePair("path", filename));
Log.d("request!", "starting");
JSONObject json = jsonParser.makeHttpRequest(
UPLOAD_PHOTO_URL, "POST", paramsu);
Log.i("tag", email);//DEBUG (Email that upload the photo)
的Log.i返回正確的電子郵件測試 「1234」。
當我創建電子郵件文件夾中的服務器使用此命令在PHP的工作原理:
$folderemail = $_POST['email'];
mkdir("photos/$folderemail", 0777);
什麼是用戶文件夾名稱,來自$ user還是$ email – meda
是的是$ email,對於錯誤感到抱歉。 – CapAm
我的服務器位於Ubuntu服務器上,但我嘗試使用不帶@的電子郵件,因爲我必須知道如何將照片保存到文件夾中。 – CapAm