Php 它工作得很好,但我不';不理解部分代码[图像上传]

Php 它工作得很好,但我不';不理解部分代码[图像上传],php,image-uploading,Php,Image Uploading,什么是编码社区, atm我正在学习PHP,我正在尝试用像“Instagram”之类的图片提要制作一个小的图片上传脚本 今天,顺便说一句,我已经完成了“Codecourse”的一个很棒的教程,我像他一样编写了我的代码。除了第21-24行,我真的理解他的代码的每一部分 如果你们中的任何一位智能编码主管能够一步一步地解释这些行,我将不胜感激 我已经注释掉了这些行 if(isset($_FILES['file'])) { $file = $_FILES['file']; //Datei E

什么是编码社区, atm我正在学习PHP,我正在尝试用像“Instagram”之类的图片提要制作一个小的图片上传脚本

今天,顺便说一句,我已经完成了“Codecourse”的一个很棒的教程,我像他一样编写了我的代码。除了第21-24行,我真的理解他的代码的每一部分

如果你们中的任何一位智能编码主管能够一步一步地解释这些行,我将不胜感激

我已经注释掉了这些行

if(isset($_FILES['file'])) {
    $file = $_FILES['file'];

  //Datei Eigenschaften
  $file_name = $file['name'];
  $file_tmp = $file['tmp_name'];
  $file_size = $file['size'];
  $file_error = $file['error'];

  //File extensions
  $file_ext = explode('.', $file_name);
  $file_ext = strtolower(end($file_ext));

  $allowed = array('txt', 'jpg');

  if(in_array($file_ext, $allowed)) {
      if($file_error === 0) {
          if($file_size <= 2097152) {

            //$file_name_new = uniqid('', true) . '.' . $file_ext;
            //$file_destination = '../uploads/' . $file_name_new;

            //if(move_uploaded_file($file_tmp, $file_destination)) {
                  echo $file_destination;
              }

          }
      }
  }
}
if(isset($\u文件['file'])){
$file=$_文件['file'];
//达蒂伊根沙夫滕酒店
$file_name=$file['name'];
$file_tmp=$file['tmp_name'];
$file_size=$file['size'];
$file_error=$file['error'];
//文件扩展名
$file\u ext=explode('.',$file\u name);
$file_ext=strtolower(end($file_ext));
$allowed=array('txt','jpg');
if(在数组中($file\u ext,$allowed)){
如果($file_error==0){
如果($文件大小)
$file\u name\u new将为具有文件扩展名的图像创建唯一名称

$file_destination = '../uploads/' . $file_name_new;
$file_destination=将上载图像的新路径

if(move_uploaded_file($file_tmp, $file_destination)) {
              echo $file_destination;
          }
上面的代码将把它出售的图像上传到新的位置

这是你不懂的部分吗

第一行将为您上传的文件定义一个唯一的id,并将文件扩展名放在上面。类似于
someuniqueID.png
。这是为了确保该文件没有被服务器上的另一个文件使用的名称。因此
uniqid(“”,true)
将生成一个随机ID,而
$file\u ext
是上传文件(jpg、png、gif或类似文件)的扩展名

下一行是定义上传文件的存储位置,在代码中选择将文件存储在
。/uploads/
中,然后使用第一行中构造的新文件名(
$file\u name\u new


最后一个
if语句
做了两件事,使用您的唯一名称将实际文件移动到您的位置,并检查是否已完成。如果运行成功,它将
echo
输出文件的完整目标和新文件名。

谢谢,但我理解脚本的这一部分。但我不知道uniqid函数是如何工作的ks,那么“.”是什么意思呢?.uniqid(“”,true)。.$file_ext;它在这里做什么?“.”是扩展分隔符。例如:“.”jpg(不带引号)非常感谢,但最后一个问题是:我知道点连接一些元素,但为什么代码是这样的:uniqid(“”,true)..$file_ext;?第一个、第二个和第三个点是什么?@scythe第一个和最后一个“点”是在PHP中组合字符串的方式。假设我有一个$var1=“hello”;和$var2=“world”;那么$var1.$var2就是“helloworld”。因此,在本例中,您组合了3个vars-først uniqueID这是扩展名之前的点,最后是$file_ext。因此您以randomID.extention结束。这有意义吗?使用另一个例子$var1和$var2,如果我做了$var3=$var1。“”。“$var2;那么$var3将是“hello.world”。@scythe太好了,记住将我的答案标记为答案,如果你觉得它回答了你的问题:)(我认为猴子看到,猴子做一个有效的方式开始编码-只是不要被困在那里。)尝试和“格式”你的源代码(一致)。(从目击,)介绍了一个语法错误。考虑使用拼写检查器,不要过头缩写。(
什么
atm
什么
)。欢迎来到Stack Overflow!(在这里,问候和感谢被认为是避免闲聊的方式)谢谢灰胡子,我会记住你的话。@Fred-ii-我认为这是个错误,但这不是唯一的一个。.如果你想再次查看我的代码,我将取消删除我的旧问题。取消删除@Fred-ii-因为我的脚本不起作用,我已经尝试创建一个新脚本,但这次它应该将图像保存到我服务器上的文件夹中。我认为你是一个intellig如果你愿意,你可以在我提出一个新问题并正确回答之前,看看它,告诉我是什么毛病:)@Fred-ii-现在它起作用了,我自己来解决。但是谢谢你的帮助。
if(move_uploaded_file($file_tmp, $file_destination)) {
              echo $file_destination;
          }
//$file_name_new = uniqid('', true) . '.' . $file_ext;
//$file_destination = '../uploads/' . $file_name_new;

//if(move_uploaded_file($file_tmp, $file_destination)) {
    echo $file_destination;