此脚本的步骤。
-
在文本框中插入链接(像rapidleech),但这里我有2个文本框
-
通过回声复制上传文件(远程链接,我的服务器)(这不起作用)
-
在文本框中打印文件的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";