在php中上传文件时出错

时间:2013-08-04 14:37:27

标签: php wamp

我正在尝试创建一个上传表单,用户可以通过该表单输入某些详细信息(包括文件上载),然后将其插入到数据库中,该行输入成功但我收到此错误。即 警告:move_uploaded_file(upload / computer / SIGN 001.jpg):无法打开流:第28行的C:\ wamp \ www \ stockm.php中没有此类文件或目录                             &安培; 警告:move_uploaded_file():无法在第28行的C:\ wamp \ www \ stockm.php中将'C:\ wamp \ tmp \ php2CEE.tmp'移动到'upload / computer / SIGN 001.jpg'

这是包含上传文件部分的整个脚本的代码。

$name= $_FILES['file']['name'];
  $tmp_name = $_FILES['file']['tmp_name']; 
  $type = $_FILES['file']['type']; 
  $size = $_FILES['file']['size'];
  $pathAndName = "upload/computer/".$name;
  $moveResult = move_uploaded_file($tmp_name, $pathAndName);

我在C:/ wamp / upload命名计算机中创建了一个文件夹,我想要发送图像,在数据库中我得到这个位置,但在上传/计算机中没有文件,文件夹是空的。

2 个答案:

答案 0 :(得分:1)

您的路径$pathAndName = "upload/computer/".$name;是相对路径,因此它将从执行脚本的当前目录中进行搜索。

例如,如果您从wamp\www\test\upload.php开始运行,则会搜索wamp\www\test\upload\computer\路径。

您可以将根目录中的路径指定为"/upload/computer/".$name;,这将搜索wamp\www\upload\computer路径。

此外,您必须检查路径中是否存在该文件夹,并且该文件夹有权访问或读取该文件夹。

答案 1 :(得分:0)

作为问题的解决方案,请尝试执行以下代码段以上传文件

$name= $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name']; 
$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size'];
$pathAndName = $_SERVER['DOCUMENT_ROOT']."upload/computer/".$name;
$moveResult = move_uploaded_file($tmp_name, $pathAndName);

在上面的代码片段中,我已指定了需要上传文件的目标路径的绝对路径