首页 文章

如何上传图片并在php中保存数据库中的URL

提问于
浏览
-1

在这个PHP代码中我想自定义图像上传目的地 . 有了这个php文件,我有一个名为uploads的目录 . 我想将我上传的所有图像添加到此目录并在db中存储路径 . 我怎样才能做到这一点?

<?php
// Assigning value about your server to variables for database connection
$hostname_connect= "localhost";
$database_connect= "image_upload";
$username_connect= "root";
$password_connect= "";

$connect_solning = mysql_connect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR); 
@mysql_select_db($database_connect) or die (mysql_error()); 

if($_POST) { 
    // $_FILES["file"]["error"] is HTTP File Upload variables $_FILES["file"] "file" is the name of input field you have in form tag.

    if ($_FILES["file"]["error"] > 0) {
        // if there is error in file uploading 
        echo "Return Code: " . $_FILES["file"]["error"] . "
"; } else { // check if file already exit in "images" folder. if (file_exists("images/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { //move_uploaded_file function will upload your image. if you want to resize image before uploading see this link http://b2atutorials.blogspot.com/2013/06/how-to-upload-and-resize-image-for.html if(move_uploaded_file($_FILES["file"]["tmp_name"],"images/" . $_FILES["file"]["name"])) { // If file has uploaded successfully, store its name in data base $query_image = "insert into acc_images (image, status, acc_id) values ('".$_FILES['file']['name']."', 'display','')"; if(mysql_query($query_image)) { echo "Stored in: " . "images/" . $_FILES["file"]["name"]; } else { echo 'File name not stored in database'; } } } } } ?>

目前,当我运行上传时,我收到警告

警告:move_uploaded_file(images / 1409261668002.png):无法打开流:第29行的D:\ xampp \ htdocs \ image-upload \ index.php中没有此类文件或目录警告:move_uploaded_file():无法移动'第29行D:\ xampp \ htdocs \ image-upload \ index.php中的D:\ xampp \ tmp \ php1C1F.tmp'到'images / 1409261668002.png'

2 回答

  • 0

    您必须指定正确的路径, 'images/1409261668002.png' 路径不指定它们 .

    if(move_uploaded_file($_FILES["file"]["tmp_name"],"images/" . $_FILES["file"]["name"]))) { .... }
    

    您必须指定绝对路径

  • 0

    您可以使用以下代码:

    $image=basename($_FILES['file']['name']);
    $image=str_replace(' ','|',$image);
    
    $tmppath="images/".$image;
    if(move_uploaded_file($_FILES['file']['tmp_name'],$tmppath))
    {...}
    

    如果您对此有任何疑问/疑虑,请与我们联系 .

相关问题