Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP图像上传功能,保存在目录中,然后返回保存图像url_Php_File Upload_Return Value - Fatal编程技术网

PHP图像上传功能,保存在目录中,然后返回保存图像url

PHP图像上传功能,保存在目录中,然后返回保存图像url,php,file-upload,return-value,Php,File Upload,Return Value,我正在尝试使用PHP和dir中的save将图像上传到服务器,然后返回图像url HTML: 我对PHP不太了解,我从SO那里得到了一段代码,但它什么也没做。请帮助我修复此代码,或提供一个执行上载的简单代码: function upload_img($img){ if ((($_FILES[$img]["type"] == "image/gif") || ($_FILES[$img]["type"] == "image/jpeg") || ($_FILES[$img]["t

我正在尝试使用PHP和dir中的save将图像上传到服务器,然后返回图像url

HTML:

我对PHP不太了解,我从SO那里得到了一段代码,但它什么也没做。请帮助我修复此代码,或提供一个执行上载的简单代码:

function upload_img($img){
    if ((($_FILES[$img]["type"] == "image/gif")
    || ($_FILES[$img]["type"] == "image/jpeg")
    || ($_FILES[$img]["type"] == "image/pjpeg")
    || ($_FILES[$img]["type"] == "image/jpg")
    || ($_FILES[$img]["type"] == "image/png"))
    && ($_FILES[$img]["size"] < 20000)
    && (strlen($_FILES[$img]["name"]) < 51)){
       if ($_FILES[$img]["error"] > 0){
           echo "Return Code: " . $_FILES[$img]["error"];
       }
       else{
           // echo "Upload: " . $_FILES["image"]["name"] . "<br />";
           // echo "Type: " . $_FILES["image"]["type"] . "<br />";
           // echo "Size: " . ($_FILES["image"]["size"] / 1024) . " Kb<br />";
           //  echo "Temp file: " . $_FILES["image"]["tmp_name"] . "<br />";

           if (file_exists(THEME_DIR."/images/" . $_FILES[$img]["name"])){
               echo $_FILES[$img]["name"] . " already exists. ";
           }
           else{
               move_uploaded_file($_FILES[$img]["tmp_name"],THEME_DIR."/images/"  . $_FILES[$img]["name"]);
               return THEME_DIR."/images/"  . $_FILES[$img]["name"];
           }
       }
   }
}
函数上传\u img($img){
如果(($_文件[$img][“类型”]==“图像/gif”)
||($_文件[$img][“类型”]=“图像/jpeg”)
||($_文件[$img][“类型”]==“图像/pjpeg”)
||($_文件[$img][“类型”]==“图像/jpg”)
||($_文件[$img][“类型”]==“图像/png”))
&&($_文件[$img][“大小”]<20000)
&&(strlen($_文件[$img][“名称”])<51)){
如果($\u文件[$img][“错误”]>0){
echo“返回代码:”.$\u文件[$img][“错误”];
}
否则{
//echo“上传:.”文件[“图像”][“名称”]。“
”; //echo“Type:”.$\u文件[“image”][“Type”]。“
”; //回显“大小:”($_文件[“图像”][“大小”]/1024)。“Kb
”; //回显“临时文件:.”文件[“图像”][“tmp_名称”]。“
”; 如果(文件存在(主题目录“/images/”$\u文件[$img][“name”])){ echo$\u文件[$img][“名称”]”已存在。“; } 否则{ 移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; 返回主题目录。“/images/”$\u文件[$img][“name”]; } } } }
要上传文件,请尝试以下操作

<?php if(isset($_POST['submit']))
{
$ImageName = $_FILES['photo']['name'];
$fileElementName = 'photo';
$path = 'images/'; 
$location = $path . $_FILES['photo']['name']; 
move_uploaded_file($_FILES['photo']['tmp_name'], $location); 
} ?>
<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data">
<input type="file" name="photo">
<input type="submit" name="submit">
</form>

这里有一个简单的例子

上传图像的HTML表单

<form enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

发送此文件:
进行上传的PHP文件

<?php

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo "<p>";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Upload failed";
}

echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";

?> 


首先,您需要一个多部分/表单数据表单进行上传。这是必须的:)

我会成功的

function upload_anh($ten_anh){ //$ten_anh la ten tren html vi du "avatar"
if(isset($_FILES[$ten_anh])){
     $errors= array();
     $file_name = $_FILES[$ten_anh]['name'];
     $file_size =$_FILES[$ten_anh]['size'];
     $file_tmp =$_FILES[$ten_anh]['tmp_name'];
     $file_type=$_FILES[$ten_anh]['type'];
     $file_ext=strtolower(end(explode('.',$_FILES[$ten_anh]['name'])));

     $expensions= array("jpeg","jpg","png");

     if(in_array($file_ext,$expensions)=== false){
            $errors[]="Không chấp nhận định dạng ảnh có đuôi này, mời bạn chọn JPEG hoặc PNG.";
     }

     if($file_size > 2097152){
            $errors[]='Kích cỡ file nên là 2 MB';
     }

     if(empty($errors)==true){
            move_uploaded_file($file_tmp,"../images/".$file_name);
            echo "Thành công!!!";
     }
     else{
            print_r($errors);
     }
}

这是我的函数,变量$ten_anh是html中文件图像的名称

<input type="file" id="avatar" name="avatar"accept="image/png, image/jpeg"      required/>
}

例如: -html代码:

<form method='post' action='' enctype='multipart/form-data'> 
  Name  : <input type="text" name="name"  required=""/><br><br>
  Code  : <input type="text" name="code"  required=""/><br><br>
  Price : <input type="text" name="price" required=""/><br><br>
  Image : <input type="file" name="image" required=""/><br><br>
  <button type='submit' class='buy' name="submit">Add Now</button>
</form>
<!--insert data  -->
<?php
session_start();
include('db.php');

if(isset($_POST["submit"]));
{
  /*echo "<pre>";
  print_r($_POST);
  print_r($_FILES);*/
  $name  = $_POST["name"];
  $code  = $_POST["code"];
  $price = $_POST["price"];
  $image = $_FILES["image"]["name"];

  /* folder image save */

  // $target_dir  = "/var/www/html/shivam/new/upload/";
  // $target_file = $target_dir.basename($_FILES["image"]["name"]);
  // /*echo "1121".$target_file;*/

  // $name = basename($_FILES["image"]["name"]);

  // mysqli_query($con,$qry);

  // /* move file */                                   
  // move_uploaded_file($_FILES['image']['tmp_name'],$target_dir.$name);
  /* move_uploaded_file($tmp_name, "$target_dir/$name");*/
  /* end */

  $uploaddir = '/var/www/html/uploads/';
$uploadfile = $uploaddir . basename($_FILES['image']['name']);
echo '44'.$uploadfile;
echo "<p>";

if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Upload failed";
}

echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';enter code here
print_r($_FILES);
print "</pre>";
}
?>

  • 调用函数php:
    upload_anh('avatar')

名称:

代码:

价格:

图像:

现在添加
谢谢您的解释
save_string_to_database("upload/" . $_FILES["file"]["name"]);
<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
  }
}
function upload_anh($ten_anh){ //$ten_anh la ten tren html vi du "avatar"
if(isset($_FILES[$ten_anh])){
     $errors= array();
     $file_name = $_FILES[$ten_anh]['name'];
     $file_size =$_FILES[$ten_anh]['size'];
     $file_tmp =$_FILES[$ten_anh]['tmp_name'];
     $file_type=$_FILES[$ten_anh]['type'];
     $file_ext=strtolower(end(explode('.',$_FILES[$ten_anh]['name'])));

     $expensions= array("jpeg","jpg","png");

     if(in_array($file_ext,$expensions)=== false){
            $errors[]="Không chấp nhận định dạng ảnh có đuôi này, mời bạn chọn JPEG hoặc PNG.";
     }

     if($file_size > 2097152){
            $errors[]='Kích cỡ file nên là 2 MB';
     }

     if(empty($errors)==true){
            move_uploaded_file($file_tmp,"../images/".$file_name);
            echo "Thành công!!!";
     }
     else{
            print_r($errors);
     }
}
<input type="file" id="avatar" name="avatar"accept="image/png, image/jpeg"      required/>
<form method='post' action='' enctype='multipart/form-data'> 
  Name  : <input type="text" name="name"  required=""/><br><br>
  Code  : <input type="text" name="code"  required=""/><br><br>
  Price : <input type="text" name="price" required=""/><br><br>
  Image : <input type="file" name="image" required=""/><br><br>
  <button type='submit' class='buy' name="submit">Add Now</button>
</form>
<!--insert data  -->
<?php
session_start();
include('db.php');

if(isset($_POST["submit"]));
{
  /*echo "<pre>";
  print_r($_POST);
  print_r($_FILES);*/
  $name  = $_POST["name"];
  $code  = $_POST["code"];
  $price = $_POST["price"];
  $image = $_FILES["image"]["name"];

  /* folder image save */

  // $target_dir  = "/var/www/html/shivam/new/upload/";
  // $target_file = $target_dir.basename($_FILES["image"]["name"]);
  // /*echo "1121".$target_file;*/

  // $name = basename($_FILES["image"]["name"]);

  // mysqli_query($con,$qry);

  // /* move file */                                   
  // move_uploaded_file($_FILES['image']['tmp_name'],$target_dir.$name);
  /* move_uploaded_file($tmp_name, "$target_dir/$name");*/
  /* end */

  $uploaddir = '/var/www/html/uploads/';
$uploadfile = $uploaddir . basename($_FILES['image']['name']);
echo '44'.$uploadfile;
echo "<p>";

if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Upload failed";
}

echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';enter code here
print_r($_FILES);
print "</pre>";
}
?>