我尝试使用PHP和MySQL在我的数据库中插入带有临时文件夹的图像。
我使用laravel,这是我的控制器:
if(isset($_FILES['img_masc']))
{
$img=$_FILES['img_masc']['name'];
$ruta= $_FILES['img_masc']['tmp_name'];
}
$destino='../../../Perf_Masc/'.$img;
$masc->img=$destino;
//copy($ruta, $destino);
move_uploaded_file($ruta, $destino); //line 49
这是我的观点:
<form method="POST" action="/RegMasc" enctype= "multipart/form-data" >
<div>
<input required name="img_masc" type="file"/>
</div>
这是我的错误:
第49行中的ErrorException: move_uploaded_file(../../../ Perf_Masc / AF5.jpg):无法打开流:没有这样的文件或目录
我尝试了很多东西,也尝试了复制功能,但无论如何都不能正常工作
答案 0 :(得分:8)
在您的Config文件或某个常用文件中定义您的路径,如下所示
define('DOCROOT', $_SERVER['DOCUMENT_ROOT'].'<YOUR PROJECT DIRECTORY>/');
在所有类文件中包含此常用php。
然后
$destino= DOCROOT.'Perf_Masc/'.$img; // HERE DOCROOT is defined in config.
答案 1 :(得分:1)
将正斜杠更改为反斜杠。
首先定义这些
//Define back slash so that you can use it anywhere later
defined("DS") ? null : define("DS", DIRECTORY_SEPARATOR);
// Define your website siteroot
defined("SITE_ROOT") ? null : define("SITE_ROOT", "C:".DS."wamp".DS."www".DS."your_website");
现在移动你的文件
$file_name=$_FILES['file']['name'];
$file_tmp=$_FILES['file']['tmp_name'];
$file_upload_to=SITE_ROOT . DS . "Perf_Masc";
move_uploaded_files($file_tmp, $file_upload_to . DS . $file_name);
如果您很难定义网站的根目录,可以在根目录中创建一个php文件,然后在PHP 5.3或更高版本中创建echo __DIR__
,因为早期版本使用echo dirname(__FILE__)
。< / p>