我正在做一個項目,所以我正在編寫面向對象的PHP。因此,我創建了一個名為FileUploader的類。此類具有驗證文件大小和文件擴展名類型以及創建目錄(如果不存在)的所有方法。 一切正常,但我注意到它只創建空目錄,不會移動上傳的文件。我嘗試從存儲的屬性訪問文件錯誤,但它總是給出 0 作為錯誤代碼然后我有另一個 php 腳本,我通過使用 $_FILES 變量進程實例化 FileUploader 類來處理上傳的文件.php require_once "../vendor/autoload.php"; use Utility\Classes\FileUploader; //Instantiate new FileUploader with the files to be uploaded. $LogoUploader = new FileUploader($_FILES['logo'], ['.png', '.jpg']);//validate logo size and type - Upload to folder if everything Ok $logo_validated = $LogoUploader->validate();//upload files that passed validation if ($logo_validated) { $LogoUploader->set_target($location); $LogoUploader->set_backlink_step('../'); $ltarget = $LogoUploader->upload_file(); if (!$ltarget) { //upload error print_error($LogoUploader->get_error_msg()); exit; } else { //upload success print "Logo uploaded successfully"; } } else { //validation error print_error($LogoUploader->get_error_msg()); exit; }請問我做錯了什么??一切正常,驗證工作正常,用戶可以設置上傳目標,如果不存在,則將創建它,但它不會將文件上傳到創建的目錄或我的工作目錄中的其他任何地方
1 回答

長風秋雁
TA貢獻1757條經驗 獲得超7個贊
我認為您需要更改以下行
if (move_uploaded_file($this->tmp_file_name, $target)) {
自
if (move_uploaded_file( $this->get_tmp_name(), $target )) {
在方法中。結婚upload_file
public function upload_file(){
$this->create_dir();
$target = $this->backlink_step . $this->target_location . "/" . $this->get_file_name();
if (move_uploaded_file( $this->get_tmp_name(), $target )) {
return $target;
} else {
die("tmp_name: {$this->get_tmp_name()} \n target: {$target} \n Error: {$this->File['error']}");
}
}
- 1 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消