用MVC-PHP保存图像
我试图在MVC系统上处理表单,但无法在服务器上保存映像。 我得到的错误是:用MVC-PHP保存图像,php,file-upload,Php,File Upload,我试图在MVC系统上处理表单,但无法在服务器上保存映像。 我得到的错误是: Warning: move_uploaded_file(/xcomplete/xtyre/public/images/products/brunofitasHD.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/gbengmux/public_html/xcomplete/xtyre/
Warning: move_uploaded_file(/xcomplete/xtyre/public/images/products/brunofitasHD.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/gbengmux/public_html/xcomplete/xtyre/models/insert_model.php on line 120
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpFHXzmh' to '/xcomplete/xtyre/public/images/products/brunofitasHD.jpg' in /home/gbengmux/public_html/xcomplete/xtyre/models/insert_model.php on line 120
这是我的密码
由视图类显示的表单:
<form action="<?php echo DOC_ROOT;?>/insert" class="mainForm" id="tyreForm" method="POST" enctype="multipart/form-data">
<!-- Dropdowns and selects -->
<fieldset>
<div class="widget">
//OTHER FIELDS HERE...
<div class="rowElem">
<label>Photo:</label>
<div class="formRight">
<input type="file" name="file" id="file" class="fileInput" />
<input id="submitButton" type="button" value="Insert" class="greyishBtn submitForm" />
</div>
<div class="fix"></div>
</div>
</div>
</fieldset>
</form>
处理表单的模型:
class Insert_Model extends XModel{
function __construct(){
parent::__construct();
$this->xdb->open();
$this->getBrands();
$this->getWidth();
$this->getDiameter();
$this->getRatio();
$this->getLoadIndex();
}
function run(){
//OTHER POST 's...
//processing data
if (($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
{
if($_FILES["file"]["size"] < 100000){
if ($_FILES["file"]["error"] > 0){
array_push($this->pars['error'], 'File Error');
return false;
}
else{
//THE ERROR IS HERE
if(move_uploaded_file($_FILES["file"]["tmp_name"],
DOC_ROOT."/public/images/products/" . $_FILES["file"]["name"])){
return true;
}
else{
array_push($this->pars['error'], 'Could not save file');
}
}
}
else{
array_push($this->pars['error'], 'File is too big');
return false;
}
}
else{
array_push($this->pars['error'], 'Invalid File');
return false;
}
//PROCESS DATA ETC...
class-Insert\u模型扩展了XModel{
函数_u构造(){
父项::_构造();
$this->xdb->open();
$this->getBrands();
$this->getWidth();
$this->getDiameter();
$this->getRatio();
$this->getLoadIndex();
}
函数运行(){
//其他帖子的。。。
//处理数据
如果($_FILES[“file”][“type”]=“image/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/png”)
||($_文件[“文件”][“类型”]=“图像/pjpeg”))
{
如果($_文件[“文件”][“大小”]<100000){
如果($\u文件[“文件”][“错误”]>0){
数组推送($this->pars['error'],'File error');
返回false;
}
否则{
//错误就在这里
如果(移动上传的文件($文件[“文件”][“tmp文件名”]),
DOC_ROOT.“/public/images/products/”$\u文件[“文件”][“名称”]){
返回true;
}
否则{
数组推送($this->pars['error'],'cannotsavefile');
}
}
}
否则{
数组推送($this->pars['error'],'File is too big');
返回false;
}
}
否则{
数组推送($this->pars['error'],'Invalid File');
返回false;
}
//工艺数据等。。。
谢谢大家看到这个错误:
Warning: move_uploaded_file() [function.move-uploaded-file]:
Unable to move '/tmp/phpFHXzmh'
to
'/xcomplete/xtyre/public/images/products/brunofitasHD.jpg'
in /home/gbengmux/public_html/xcomplete/xtyre/models/insert_model.php on line 120
看起来好像路径是错误的(即在开始处缺少某些内容。)它不应该尝试将文件复制到这个位置吗
/home/gbengmux/public_html/xcomplete/xtyre/public/images/products/brunofitasHD.jpg
查看此错误:
Warning: move_uploaded_file() [function.move-uploaded-file]:
Unable to move '/tmp/phpFHXzmh'
to
'/xcomplete/xtyre/public/images/products/brunofitasHD.jpg'
in /home/gbengmux/public_html/xcomplete/xtyre/models/insert_model.php on line 120
看起来好像路径是错误的(即在开始处缺少某些内容。)它不应该尝试将文件复制到这个位置吗
/home/gbengmux/public_html/xcomplete/xtyre/public/images/products/brunofitasHD.jpg
检查服务器上的权限您有更多路径问题::DStackOverflow不是免费的众包调试服务。检查服务器上的权限您有更多路径问题::DStackOverflow不是免费的众包调试服务。