Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 为什么在尝试上载图像时会出现此错误?_Php_Url_Uploading - Fatal编程技术网

Php 为什么在尝试上载图像时会出现此错误?

Php 为什么在尝试上载图像时会出现此错误?,php,url,uploading,Php,Url,Uploading,当我转到myserver索引并使用该界面从那里上传图像时,效果很好。但一旦我自己尝试进入这条路,就像: http://myserver/upload.php?image['name']=F:\Bilder\6.jpg 它给我一个错误,所有字段都是必需的。但我必须上传这样的图片,因为我计划在我正在制作的应用程序中实现它。问题是,我对php不太熟悉 这是upload.php文件 <?php session_start(); require("includes/conn.php"); f

当我转到myserver索引并使用该界面从那里上传图像时,效果很好。但一旦我自己尝试进入这条路,就像:

http://myserver/upload.php?image['name']=F:\Bilder\6.jpg
它给我一个错误,所有字段都是必需的。但我必须上传这样的图片,因为我计划在我正在制作的应用程序中实现它。问题是,我对php不太熟悉

这是upload.php文件

<?php
session_start();

require("includes/conn.php");


function is_valid_type($file)
{

$valid_types = array("image/jpg", "image/jpeg", "image/bmp", "image/gif", "image/png");

if (in_array($file['type'], $valid_types))
    return 1;
return 0;
}

function showContents($array)
{
echo "<pre>";
print_r($array);
echo "</pre>";
}

$TARGET_PATH = "images/";

$image = $_FILES['image'];

$image['name'] = mysql_real_escape_string($image['name']);

$TARGET_PATH .= $image['name'];

if ( $image['name'] == "" )
{
$_SESSION['error'] = "All fields are required";
header("Location: index.php");
exit;
}

if (!is_valid_type($image))
{
$_SESSION['error'] = "You must upload a jpeg, gif, or bmp";
header("Location: index.php");
exit;
}

if (file_exists($TARGET_PATH))
{
$_SESSION['error'] = "A file with that name already exists";
header("Location: index.php");
exit;
}

if (move_uploaded_file($image['tmp_name'], $TARGET_PATH))
{
$sql = "insert into Avatar (filename) values ('" . $image['name'] . "')";
$result = mysql_query($sql) or die ("Could not insert data into DB: " .     mysql_error());

exit;
}
else
{
header("Location: index.php");
exit;
}

这根本不起作用,因为您无法通过url发送
$\u GET[]
变量来上载图像

正如您在upload.php页面中看到的,该文件是通过
$\u FILES['image']
在php页面中检索的


如果您将其更改为
$\u GET['image']
,并尝试使用建议的GET变量发布链接,您可能会看到文件的路径,但它将仅作为字符串类型,而不是实际上载的文件对象

这根本不起作用,因为您无法通过url发送
$\u GET[]
变量来上传图像

正如您在upload.php页面中看到的,该文件是通过
$\u FILES['image']
在php页面中检索的


如果您将其更改为
$\u GET['image']
,并尝试使用建议的GET变量发布链接,您可能会看到文件的路径,但它将仅作为字符串类型,而不是实际上载的文件对象

如果您需要将内容发布到web表单(而不是获取,这是您在这里要做的),您不能只指定要作为URL的一部分发布的数据

看看那些HTTP方法(GET和POST)以了解它们之间的区别

在你的应用程序中,你需要做的是将内容发布到URL。根据编程使用的工具,您应该研究如何通过POST发送数据


另外,尝试查看您的开发平台是否可以使用curl(或libcurl)的实现。

如果您需要将内容发布到web表单(而不是获取,这是您在这里要做的),您不能只指定要作为URL的一部分发布的数据

看看那些HTTP方法(GET和POST)以了解它们之间的区别

在你的应用程序中,你需要做的是将内容发布到URL。根据编程使用的工具,您应该研究如何通过POST发送数据

另外,请尝试查看您的开发平台是否有curl(或libcurl)的实现。

问题在于

$_GET['image']
$image在那里没有值

您正在执行get请求,因此如果您想知道图像变量是什么,您应该使用它

另一件事是你正在做$image=$\u文件['image']

$\u文件仅在post请求中可用。 无法通过GET请求中的参数以现在的方式上载文件。

问题在于

$_GET['image']
$image在那里没有值

您正在执行get请求,因此如果您想知道图像变量是什么,您应该使用它

另一件事是你正在做$image=$\u文件['image']

$\u文件仅在post请求中可用。
无法通过GET请求中的参数以您现在的方式上载文件。

http://myserver/upload.php?image['name']=F:\Bilder\6.jpg
不是有效的PHP表达式。你到底是在什么地方输入这一行的?在我的浏览器中,为了不使用索引
http://myserver/upload.php?image['name']=F:\Bilder\6.jpg
不是有效的PHP表达式。你输入这行的具体内容和位置是什么?在我的浏览器中,为了在不使用IndexHanks界面的情况下给他一个图像,但现在他在我尝试上传图像时给我下一个错误“无效图像”。很简单,因为你没有上传文件。无法在GET请求中上载文件。问题是:为什么你们不能用表格上传你们的文件?好的,谢谢。为了更好地理解我要做的事情,你能让我参考一个好的文档(如果你知道的话)或类似的东西吗?谢谢,但现在他在我尝试上传一个时给了我下一个错误“无效图像”。很简单,因为你没有上传文件。无法在GET请求中上载文件。问题是:为什么你们不能用表格上传你们的文件?好的,谢谢。为了更好地理解我要做的事情,你能给我一份好的文档(如果你知道的话)或类似的东西吗?
$_GET['image']