好的,所以需要做一些解釋。所以,讓我們從我想要實現的目標開始。我正在嘗試爲用戶上傳用於其個人資料的圖像來創建頭像功能。這是我的概念;如何從PHP登錄項目中獲取用戶名
用戶上傳圖像目錄=圖像根據自己的用戶名更名=
當用戶訪問他的個人資料的圖像被抓住自己的用戶名稱爲=
所以基本上,圖像輸出將像這樣
<img src="avatars/$username.png" />
現在,因爲我還沒有很多使用PHP的經驗,我決定使用一個名爲「PHP的登錄項目」內置預PHP登錄腳本。它使事情變得更快。
雖然這是我的困境,但我不知道如何訪問用戶名信息以在我的上傳圖片php文件中使用(該文件名爲upload.php
。)所以,目前upload.php允許用戶上傳圖片,然後用隨機的一串數字重命名它,我不想要這個。相反,代替數字將是用戶的用戶名。這裏是upload.php文件;
<?php
$rand = rand(10000000, 999999999);
$file_name = $rand.$_FILES["fileToUpload"]["name"];
$target_dir = "avatars/";
$target_file = $target_dir . $file_name;
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
//echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
//echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
header('Location: http://1.testing.uk.to/PROJECT_SPACE/edit.php');
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
這裏是PHP登錄項目的GitHub頁面:GitHub Link。
現在,如果你沒有使用/看到PHP登錄項目,這個問題可能不容易理解。所以,如果你已經看到它,並知道它是如何工作的,這裏是我問的問題,我如何獲取用戶的用戶名並將其添加到我的upload.php文件中,重命名上傳的文件以匹配用戶名?經驗豐富的PHP開發人員也可能會理解這個問題,但建議您查看PHP登錄項目的代碼。希望我以一種可以幫助我解決問題的方式解釋我想要的內容。感謝您提供的任何幫助。
感謝您的代碼,但是,我會在何處將其實施到我的upload.php文件中? – MyNameIsNotSoCool 2015-02-07 10:36:51
對不起,我不太明白..你能詳細點嗎?感謝您的幫助! – MyNameIsNotSoCool 2015-02-07 10:46:02
$ objLogin = new Login(); $ userName = $ objLogin-> getUsername();在$ userName中,您將獲得登錄的用戶名,您可以使用此值更新上傳的文件名upload.php – 2015-02-07 10:47:28