php rename錯誤原因的查找方法
打印出錯誤的原因。
error_get_last()似乎沒有返回任何內(nèi)容。rename()返回true false,而不是異常。
if (!rename($file->filepath, $full_path)) {
$error = error_get_last();
watchdog('name', "Failed to move the uploaded file from %source to %dest", array('%source' => $file->filepath, '%dest' => $full_path));
}
解決辦法
首先,最好在以下情況之前新增一些安全檢查:
if (file_exists($old_name) &&
((!file_exists($new_name)) || is_writable($new_name))) {
rename($old_name, $new_name);
}
其次,可以開啟錯誤報告:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
知識點擴展:
語句:rename(oldname,newname,context)
| 參數(shù) | 描述 |
| oldname | 必需,規(guī)定要重命名的文件或目錄. |
| newname | 必需,規(guī)定文件或目錄的新名稱 |
| context | 必需,規(guī)定文件句柄的環(huán)境,context 是可修改流的行為的一套選項 |
注釋:在 php 4.3.3 之前,rename() 不能在基于 *nix 的系統(tǒng)中跨磁盤分區(qū)重命名文件.
注釋:用于 oldname 中的封裝協(xié)議必須和用于 newname 中的相匹配.
注釋:對 context 的支持是 php 5.0.0 添加的.
到此這篇關(guān)于php rename錯誤原因的查找方法的文章就介紹到這了,更多相關(guān)php rename錯誤原因內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析PHP中VC6 X86和VC9 X86的區(qū)別及 Non Thread Safe的意思
本篇文章是對PHP中VC6 X86和VC9 X86的區(qū)別及 Non Thread Safe的意思進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
對text數(shù)據(jù)類型不支持代碼頁轉(zhuǎn)換 從: 1252 到: 936
錯誤的提示同樣是不能從text的轉(zhuǎn)換問題:這主要是由于數(shù)據(jù)庫在設(shè)計的時候的數(shù)據(jù)類型存在Text——而我們采用的是中文操作系統(tǒng)。檢查數(shù)據(jù)庫的腳本,修改Text為ntext。支持unicode。2011-04-04
JoshChen_php新手進階高手不可或缺的規(guī)范介紹
所以,今天就整理了一下PHP的規(guī)范,讓大家參考參考。就像大家常說的一句話,“規(guī)矩是死的,人是活的。”。是的,但是,在規(guī)矩中成長的人都會擁有一堆非常讓人羨慕的好習(xí)慣2013-08-08
PHP編碼轉(zhuǎn)換函數(shù) 自動轉(zhuǎn)換字符集支持?jǐn)?shù)組轉(zhuǎn)換
當(dāng)我們在接受未知客戶端提交的數(shù)據(jù),由于各客戶端的編碼不統(tǒng)一,但在我們的服務(wù)器端最終只能以一種編碼方式來處理,這種情況下就會涉及到編碼轉(zhuǎn)換問題2012-12-12

