Php 在$\文件中使用我自己的照片路径(在ajax中上载)

Php 在$\文件中使用我自己的照片路径(在ajax中上载),php,ajax,upload,Php,Ajax,Upload,在一个php文件中,我创建了一个上传表单,并通过ajax调用另一个php来上传照片。我将name=“file”传递给第二个php,这意味着我有一个字符串是photo的路径和名称,如(“C:\fakepath\xxx.JPG”),然后我将该字符串放入变量中,如下所示: $file=“在第一个php中从上传表单提交的字符串”; 然后,$\u FILES[“$file”]或$\u FILES[$file]或$\u FILES['$file'],总是向我返回一个错误,如: 上传表单(第一个PHP) 第

在一个php文件中,我创建了一个上传表单,并通过ajax调用另一个php来上传照片。我将name=“file”传递给第二个php,这意味着我有一个字符串是photo的路径和名称,如(“C:\fakepath\xxx.JPG”),然后我将该字符串放入变量中,如下所示:

$file=“在第一个php中从上传表单提交的字符串”; 然后,
$\u FILES[“$file”]
$\u FILES[$file]
$\u FILES['$file']
,总是向我返回一个错误,如:

上传表单(第一个PHP)

第二个php(upload_file3.php):


因此,问题在于
$\u文件
数组的索引与表单中输入的文件的
名称
有关。在本例中,您正在查找
$\u文件['FILE']


另一个问题是您试图使用AJAX和
GET
上传文件。那根本不起作用。文件上传必须是POST,并且不单方面支持AJAX中的文件上传。如果您只是在GET中使用表单元素的值,那么它总是类似于
C:\fakepath\xxx.JPG

上发现打字错误(($\u FILES[“fit1”][“type”]==“image/gif”)
应该是
$\u FILES[“file”][/code>

您能解释一下
$\u file[“$file”]或$\u file[$file]或$\u file['$file]是什么吗
的意思是?你是随机编写代码的吗?你能用你所说的javascript发布你的PHP文件吗?在我的第二个PHP中,我将文件作为一个字符串,显示路径和照片名称及其扩展名。我知道这很复杂,但我很快就可以做到了,我只需要知道,当我有照片的路径时,我可以在中使用它吗$\u文件[]?否。
$\u文件
中的名称是表单名称。路径可以是任何内容。您的服务器完全没有关于您的客户端生成的路径的信息。$\u文件['myphoto.jpg',我尝试过,还有$\u文件['path/myphoto.jpg',甚至没有扩展名,如:$\u文件['myphoto'],它们都不起作用因为我使用ajax,单独放置“file”不起作用。这不是文件名,而是表单元素的名称。但在第二个php中,它返回的文件是照片名及其路径,正如我前面提到的。由于是ajax,放置文件不起作用,我需要做些其他事情。没有人能帮我?!我真的吗我需要解决方案!我不应该那么难。我不是专业的程序员。Fit1是我的照片名,我想看看它是否有效。正如我所说,定期上传代码,如放入“文件”不起作用,因为它是AJAX!谁投票反对我!你不明白这个问题还是什么吗?这是一个新的挑战性问题,对page很有用!!
Notice: Undefined index: C:\fakepath\xxx.JPG in C:\xampp\htdocs\project\ajax_php_files\PHPfile.php on line 111
echo"
<form action='#' method='post' enctype='multipart/form-data' name='form1'  id='form1'>
<label for='file'>Filename:</label>
<input type='file' name='file' id='file'><br>
<input name='submit' type='button' id='submit' value='upload' onclick=\"SubmitData1('file')\" />
</form>";
function SubmitData1(id1){

var file=document.getElementById(id1).value;

//var file=String(file);
alert(file);

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("ContextPart").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_php_files/upload_file3.php?file="+file,true);
xmlhttp.send();

}
<?php
//$allowedExts = array("jpg", "jpeg", "gif", "png");
//$extension = end(explode(".", $_FILES["file"]["name"]));

$file=$_GET["file"];
// here, the variable $file is a string like:C:\fakepath\fit1.JPG

//$file="C:\Picture\Amir\fit1.JPG";
echo $file;

if ((($_FILES["file (or $file or '$file' or what?!!)"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 10000000))
//&& in_array($extension, $allowedExts))
  {

  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else