警告:文件上传错误-无法在第0行的“未知"中创建临时文件 [英] Warning: File upload error - unable to create a temporary file in Unknown on line 0

查看:106
本文介绍了警告:文件上传错误-无法在第0行的“未知"中创建临时文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每次尝试上传文件时,都会出现以下错误.

Am getting the following error everytime I try to upload a file .

警告:文件上传错误-无法在第0行的未知"中创建临时文件"

"Warning: File upload error - unable to create a temporary file in Unknown on line 0"

这是我的HTML表单,

Here is my HTML form,

<form action="./inventory_list.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
<table width="625" border="1" cellpadding="5">
  <tr>
    <td width="84">Product Name</td>
    <td width="399"><input type="text" name="product_name" id="product_name"></td>
  </tr>
  <tr>
    <td>Product Price</td>
    <td><label for="textfield2">Rs:</label>
      <input type="text" name="price" id="price"></td>
  </tr>
  <tr>
    <td>Category</td>
    <td><select name="category" id="category">
        <option value="" selected="selected"></option>
        <option value="Bedroom ">Bedroom </option>
        <option value="Living">Living room</option>
        <option value="Dining">Dining</option>
      </select></td>
  </tr>
  <tr>
    <td>Sub - Category</td>
    <td><select name="subcategory" id="subcategory">
        <option value="" selected="selected"></option>
        <option value="dinet">Dining tables</option>
        <option value="shoe">shoe racks</option>
        <option value="wardrobe">wardrobes</option>
        <option value="sofa">sofa</option>
      </select></td>
  </tr>
  <tr>
    <td>Product Details</td>
    <td><textarea name="details" cols="50" rows="10" id="details"></textarea></td>
  </tr>
  <tr>
    <td>Product Image</td>
    <td><label>
        <input type="file" name="fileField" id="fileField"/>
      </label></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="button" id="button" value="Add this Item now"></td>
  </tr>
</table>
</br>
</form>

这是我的PHP代码,

if(isset($_POST["product_name"]))
{
    $product_name = mysql_real_escape_string($_POST["product_name"]);
    $price= mysql_real_escape_string($_POST["price"]);
    $category= mysql_real_escape_string($_POST["category"]);
    $subcategory= mysql_real_escape_string($_POST["subcategory"]);
    $details= mysql_real_escape_string($_POST["details"]);

    //see if duplicate product exists
    $sql = mysql_query("select id from products where product_name='$product_name' limit 1");
    $product_match = mysql_num_rows($sql);   //count the output

    if($product_match>0)
    {
        echo "The product name already exists";
        exit();
    }
    $sql= mysql_query("INSERT INTO `mystore`.`products` (`product_name`, `price`, `details`, `category`, `subcategory`, `date_added`) VALUES ( '$product_name', '$price', '$details', '$category', '$subcategory', now());")or die(mysql_error());
    $pid = mysql_insert_id();
    $newname = "$pid.jpg";

    move_uploaded_file($_FILES['fileField']['tmp_name'],'../inventory_images/$newname');
}

我正在尝试在localhost上上传, 测试服务器:XAMPP, 操作系统:MAC 10.8

Am trying to upload on localhost , Test Server:XAMPP , OS : MAC 10.8

很长一段时间以来,我一直在努力,但我尝试了很多事情,但没有任何效果.

Am stuck on this from a long time , I tried a lot of things but nothing is working .

推荐答案

在终端中输入:

chmod -R 777 /your/upload/folder

通过执行以下代码,您可以知道php上载文件的文件夹:

you can know the folder where your php uploads files by executing this code :

$tmp_dir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
die($tmp_dir);

在我的情况下,我得到/var/...,所以当我设置777权限时,我没有收到错误.

In my case I get /var/... so when I sett 777 permission I get no error.

修改

将777设置为/var是危险的,因此您只需将其设置为php上传文件的文件夹(您可以从上面的代码中购买).

Setting 777 to /var is dangerous so you have to set it only to the folder where php uploads the file (which you can get buy the code above).

这篇关于警告:文件上传错误-无法在第0行的“未知"中创建临时文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆