[英]move_uploaded_file in PHP not working?
我正在积极学习php ,正在从事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.