Php 将图像转换为base64字符串,作为调用web服务的输入

Php 将图像转换为base64字符串,作为调用web服务的输入,php,image,Php,Image,我已经将一个图像转换为base64字符串,但现在我想上传一个图像,然后将其转换为base64字符串,我想将此字符串作为输入发送到web服务。 我使用的代码是 <?php $allowedExts = array("gif", "jpeg", "jpg", "png"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "image/gif") || ($_FI

我已经将一个图像转换为base64字符串,但现在我想上传一个图像,然后将其转换为base64字符串,我想将此字符串作为输入发送到web服务。 我使用的代码是

<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  }
 }
}
 else
{
echo "Invalid file";
}
?>

试试这个:

$image= file_get_contents("/path/to/image.jpg");
$convertedData= base64_encode($imagedata);
编辑
看来你不懂基本的php。需要我帮忙吗

我正在回显base64格式的代码

<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"].'<br />';

  /* Notice here */
  $image = file_get_contents("upload/" . $_FILES["file"]["name"]);
  $convertedData = base64_encode($imagedata);
  echo 'Base64 Inmage code :'.$convertedData;
  /* My edits end here */


  }
 }
}
 else
{
echo "Invalid file";
}
?>


我在这里没有看到任何
base64
。你尝试了什么?这是w3学校教程中的现成代码,我想把图像存储到一个地方,因为我是php教程的新手,我被困在这里了⇧ 我已经创建了一个html页面图像,然后我将它添加到file.php中,但是运气不好,我什么都没有得到,我是不是出错了,$Image=file\u get\u contents(“/path/to/Image.jpg”)$convertedData=base64_编码($imagedata);您还必须将名称更改为file。我的意思是
谢谢,我会试试这个,是的,我正在努力学习php,只有两周的php经验