繁体   English   中英

PHP中的move_uploaded_file无法正常工作?

[英]move_uploaded_file in PHP not working?

我正在积极学习 ,正在从事CMS项目。 我被卡在图片上传上。

的PHP

 if ( $_POST['img'])
 $uploads_dir = '/images';
 $tmp_name = $_FILES["img"]["tmp_name"];
 $name = $_FILES["img"]["name"];
 move_uploaded_file($tmp_name, "$uploads_dir/$name");

的HTML

 <img src="images/$image" />

的MySQL

 $sql = "INSERT INTO affordplan VALUES('$title','$name','$bodytext','$created')";
  return mysql_query($sql);

文件名已上传到数据库,但文件本身未上传到目标文件夹。

在表格之间和表格wrtie之间输入您的html代码,如下所示

<form action="" method="post" enctype="multipart/form-data">
<img src="images/$image" name="img" />
...
</form>

使用$_FILES来检查文件是否已发布,而不是$_POST 还要对变量进行正确的引用。 然后对于echo php变量,使用php标签。 尝试

PHP:

if ( $_FILES['img'])
 $uploads_dir = 'images'; // will be on same location where php file exist.
 $tmp_name = $_FILES["img"]["tmp_name"];
 $name = $_FILES["img"]["name"];
 move_uploaded_file($tmp_name, $uploads_dir.'/'.$name);

HTML:

 <img src="images/<?php echo $image;?>" />

MySQL:

 $sql = "INSERT INTO affordplan VALUES('$title','$name','$bodytext','$created')";
  return mysql_query($sql);

//将多个文件上传到文件夹

   $upload_dir = '/images';
   if ( $_FILES['img']){
    foreach ($_FILES["img"]["error"] as $key => $error) {
        if ($error == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES["img"]["tmp_name"][$key];
            $name = $_FILES["img"]["name"][$key];
            move_uploaded_file($tmp_name, "$upload_dir/$name");
        }
    }
   }

// MySQL MySQL:

$sql = "INSERT INTO affordplan VALUES('$title','$name','$bodytext','$created')";
  return mysql_query($sql);

表单提交中使用的HTML

<input type="file" name="img" multiple>

以HTML显示图像

$dir = "/images/";
$images = glob($dir."*.jpg");
foreach($images as $image) {
echo '<img src="'.$image.'" /><br />';
}

您正在分配一个等效于文件名的目录。 尝试这个

 <?php if (!file_exist("your main directory/the file to story")) { mkdir("your main directory/the file to story", 0777, true); } // then you start uploading your once the folder is created ?> 

此处的过程是,如果文件夹目录不存在,则mkdir()函数将创建该文件夹。 然后就是您开始将文件移动到创建的文件夹的时间。

将所有代码放入if语句中:

if ( $_POST['img']) {
    $uploads_dir = '/images';
    $tmp_name = $_FILES["img"]["tmp_name"];
    $name = $_FILES["img"]["name"];
    move_uploaded_file($tmp_name, "$uploads_dir/$name");
}

 <form action="phpfilename.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input type="submit" value="Upload Image" name="submit"> $file=$_FILES['file']['name']; $dest="uploads/$file"; $src=$_FILES['file']['tmp_name']; move_uploaded_file($src,$dest); $result=mysql_query("insert into tablename(dbfieldname) values('$dest')"); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM