如何使用带有原始文件名的文本框的echo副本


how to use echo copy with text box with orginal file name

此脚本的步骤。

  1. 在文本框中插入链接(像rapidleech),但这里我有2个文本框

  2. 通过回声复制上传文件(远程链接,我的服务器)(这不起作用)

  3. 在文本框中打印文件的HTML信息(我想这里我有一个错误)

注意-仅图像信息重要

注意-如何获取原始文件名并保存在服务器上?

HTML

<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart">
<label for="file">thumb link : </label>
<input type="text" name="file" id="file" />
<br />
<label for="file2">image link : </label>
<input type="text" name="file2" id="file2" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

PHP

<?php
define ( 'IMAGE_DIR', 'img/' );
define ( 'THUMB_DIR', 'thumb/' );
$thumblink = "file1";
$imglink = "file2";
$printhtml = "printhtml";
$filesize = "size";
$filesizelimit = "limit";
$printtxt = "<center><img src='"{$thumblink}'"/><br/>
            <a href='"{$imglink}'" target='"_blank'">download image</a> /
            {$filesize} <br/></center>";
// here is dont work show error
// error   syntax error, unexpected T_STRING
echo copy("{$thumblink}", THUMB_DIR . '["name"]');
echo copy("{$imglink}", IMAGE_DIR . '["name"]');
//
if ((($_FILES["file2"]["type"] == "image/gif")
|| ($_FILES["file2"]["type"] == "image/jpeg")
|| ($_FILES["file2"]["type"] == "image/pjpeg"))
&& ($_FILES["file2"]["size"] < 2000000))
  {
  if ($_FILES["file2"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file2"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file2"]["name"] . "<br />";
    echo "Type: " . $_FILES["file2"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file2"]["size"] / 1024) . " Kb<br />";
    echo "thumb in: " . $_FILES["file1"][THUMB_DIR];
    echo "image in: " . $_FILES["file2"][IMAGE_DIR];

    echo "<center><img src='"{$thumblink}'"/><br/>
            <a href='"{$imglink}'" target='"_blank'">download image</a> /
             {$filesize} <br/></center>";
    }
  }
else
  {
  echo "Invalid file";
  }
?>

PHP常量不能插入到这样的字符串中-PHP无法知道您使用的是常量,而不仅仅是一些看起来像常量的文本:

注意变化:

echo copy("{$thumblink}", THUMB_DIR . '["name"]');
echo "image in: " . $_FILES["file2"][IMAGE_DIR];

这不起作用:

echo print "<center>...";

你必须选择:p要么回显,要么打印:)否则,如果print()返回TRUE,它将回显"…",然后是1。这就是你要找的吗?

还有:

echo copy("{$thumblink}","THUMB_DIR["name"]");
echo copy("{$imglink}","IMAGE_DIR["name"]");

注意到引号是如何相互妨碍的吗?并且THUMB_DIR&IMAGE_DIR是常量,而不是数组。你到底想在这里做什么?

此外,copy()返回一个布尔值。为什么要呼应它?如果copy()返回FALSE,它将不显示任何内容。

请将您的define更改为:

$IMAGE = array('IMAGE_DIR' => 'img/',
        'THUMB_DIR' => 'thumb/');

然后

$new_file_name = "new.gif";
    echo copy("{$thumblink}", $IMAGE['THUMB_DIR']$new_file_name);
    echo copy("{$imglink}", $IMAGE['IMAGE_DIR'].$new_file_name);

仍然不明白你为什么要附和这些?。。

您还需要更改原始文件名:

$imglink = "file2.gif";