duanmo5724 2014-08-21 22:28
浏览 44

使用上传照片脚本时,它不会重命名该文件

I'm using a photo upload script for my social network and it won't work, here's the code:

Upload.php

<style>
.sucess{
color:#088A08;
}
.error{
color:red;
}
</style>

<?php
$file_exts = array("jpg", "bmp", "jpeg", "gif", "png");
$upload_exts = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($upload_exts, $file_exts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
// Enter your path to upload file here
if (file_exists("profile_pictures/" .
$_FILES["file"]["name"]))
{
echo "<div class='error'>"."(".$_FILES["file"]["name"].")".
" already exists. "."</div>";
}
else
{
$my_id = $_SESSION['user_id'];
$new_file_name = $my_id;

move_uploaded_file($_FILES["file"]["tmp_name"],
"profile_pictures/" . $new_file_name);
echo "<div class='sucess'>"."Stored in: " .
"profile_pictures/" . $new_file_name."</div>";
}
}
}
else
{
echo "<div class='error'>Invalid file</div>";
}
?>

change_photo.php

<html>
<body>

<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

It just says:

Upload: A FILE.png Type: image/png Size: 1028.0830078125 kB Temp file: C:\xampp\tmp\phpD21D.tmp

Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\xampp\htdocs\Social Network\upload.php on line 43

Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpD21D.tmp' to 'profile_pictures/' in C:\xampp\htdocs\Social Network\upload.php on line 43 Stored in: profile_pictures/

  • 写回答

1条回答 默认 最新

  • duancheng6500 2014-08-21 22:32
    关注

    It would seem that your $my_id variable is empty.

    Are you using session_start(); at the very top of your script?

    评论

报告相同问题?

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)