1

我有这个代码,我想用它自己的名字上传图片。

<?php
print_r($_FILES);
$new_image_name = "foto1.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"]
,"/home/izmircic/public_html/upload/".$new_image_name);?>  

我试过了

<?php
print_r($_FILES);
move_uploaded_file($_FILES["file"]["name"], "/home/izmircic/public_html/upload/");
?>  

但它没有用。

4

3 回答 3

1

的参数move_uploaded_file()是包括文件名的当前路径和包括文件名的目标路径。

它应该是:

move_uploaded_file($_FILES["file"]["tmp_name"] ,"/home/izmircic/public_html/upload/".$_FILES["file"]["name"]);

您还应该测试返回值,看看它是否失败:

$moved = move_uploaded_file($_FILES["file"]["tmp_name"] ,"/home/izmircic/public_html/upload/".$_FILES["file"]["name"]);

if($moved){
    echo 'success';
} else {
    echo 'failed';
}

通过允许上传的文件保留其原始名称,您需要验证它是否适合您正在做的任何事情,例如,如果您只想要图像然后检查文件扩展名并将图像加载到 GD 库中以验证它实际上是一个图像。

为了获得最佳安全性,最好将文件存储在文档根目录之外,并根据需要使用 PHP 脚本提供服务,最好使用生成的文件名,而不是让上传者选择。

于 2013-07-17T06:48:45.953 回答
0
try this
<?php

print_r($_FILES);
$new_image_name = "foto1.jpg";  // remove this one and replace $_FILES["file"]["name"]
move_uploaded_file($_FILES["file"]["tmp_name"]
        , "/home/izmircic/public_html/upload/" . $_FILES["file"]["name"]);
?>
于 2013-07-17T06:49:07.003 回答
0

我认为这可能对你有用

move_uploaded_file($_FILES["file"]["tmp_name"],".//home/izmircic/public_html/upload/".$_FILES["file"]["name"]);

于 2013-07-17T06:54:11.803 回答