注意:未定义索引:第33行C:\xampp\htdocs\page1.php中的图片
警告:pathinfo()要求参数2较长,字符串以C:\xampp\htdocs\page1给出。php第35行对不起,只有JPG,JPEG,PNG
//<?PHP
//session_start();
//if (!isset($_SESSION['login_user'])) {
//header ("Location: page2.php");/
//}
//?>
<html>
<head>
<title>Basic Login Script</title>
</head>
<body>
<?php
session_start();
$servername = "localhost";
$username = "root";
$passwor = "";
$dbname = "form";
$name = $_SESSION['login_user'];
echo $name;
$conn = new PDO("mysql:host=$servername;dbname=form", $username, $passwor);
$stmt = $conn->prepare("SELECT id, username, password FROM users where username='$name'");
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
echo "Connected successfully";
$target_dir= "htdocs" ."basketball/";
$target_file = '$target_dir' .basename($_FILES['picture']['name']); //heres an error
$uploadOk = 1;
$imageFileType=pathinfo('$targetfile','PATHINFO_EXTENSION');//heres an error
if(isset($_POST["submit"]))
{
$check = getimagesize($_FILES['picture']['tmp_name']);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
}
else {
echo "File is not an image.";
$uploadOk = 0;
}
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
{
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
if ($uploadOk == 0)
{
echo "Sorry, your file was not uploaded.";
}
else
{
if (move_uploaded_file($_FILES['picture']['tmp_name'], $target_file)) {
echo "The file ". basename( $_FILES["picture"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
User Logged in<br/><br/>
<form action="page1.php" method="post" enctype="multipart/form-data">
<input name="picture" type="file" value="picture">
<input name="Upload Now" type="submit" value="Upload Image">
</form>
<P>
<?php
if(isset($_POST['logout'])){
//$_SESSION['user_login'] = '';
//die;
session_destroy();
header("Location: login.php");}
?>
</body>
</html>
您得到第一个警告是因为您在同一个文件中使用了整个代码,而没有使用isset()
或!在
$\u文件
数组上清空()。
对此行使用条件语句,并将单引号更改为双引号。变量不会在单引号内解析。
$target_file = '$target_dir' .basename($_FILES['picture']['name']);
如
if(!empty($_FILES['picture'])){
$target_file = "$target_dir" .basename($_FILES['picture']['name']);
...
}
这样做,其余的事情就会随之而来。
还要确保文件夹具有适当的写入权限
然而这一行:
$target_dir= "htdocs" ."basketball/"
不清楚,将作为文件夹读取
htdocsbasketball
。如果这不是您想要的,并且这些是子文件夹,那么在htdocs
之后添加一个/
。
您也没有与条件语句匹配的元素:
if(isset($_POST["submit"]))
我认为这与您的提交按钮被命名为
name="Upload Now"
相关联
应该读作
name="提交"
您可能还想从
中删除
value=“picture”
您还将在头之前输出,因此取消注释代码的第一部分,并去掉
会话_start()
您现在的位置。
移动
session_start();
它位于上面的$serverame="localhost";
并使用
<?php
session_start();
?>
<html>
<head>
<title>Basic Login Script</title>
...
旁注:
添加退出
在头之后,否则您的代码可能需要继续执行
将错误报告添加到文件顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告只应在暂存中完成,而不应在生产中完成。
添加
$conn-
$conn = new PDO("mysql:host=$servername;dbname=form", $username, $passwor);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
捕捉其他潜在的错误。
脚注:
>
这一行
if(isset($_POST['logout'])){
-您发布的代码没有名为logout的元素,除非它不相关。
既然您使用的是PDO,为什么不在准备好的语句中使用PDO呢?
问题内容: 我无法通过ajax上传多个文件。这是我的代码。 HTML代码: Ajax代码:- 当我通过Ajax调用upload_business_photo_do()函数时,它无法获取图像$ _FILES [‘file’] [‘name’]的名称 问题答案: 尝试这样使用,它简单又容易 并在控制器中使用像这样 并使用此功能将文件数据转换为多个图像数据的数组 它的工作完美,只需尝试使用它。您无需使用
当我用PHP上传imagen时,我没有收到任何错误,并且服务器上的图像是0字节。考虑的事项: 文件上传在phpinfo()中打开。 在phpinfo()中,上传文件的最大大小为8M Upload_tmp_dir已设置并具有777个权限 如果我运行file_exists($_FILES['userfile']['tmp_name']),它将返回true 如果我运行getimagesize($\u F
我想上传视频文件使用php和html表单,php代码和错误如下。 除了视频(.mp4、.flv、.avi)外,我可以上传几乎任何其他类型的文件(图像、zip、文本等)。 savevideo.php: 错误: 我使用了相同的代码(带有图像属性)进行图像上传,并且工作得很好。但是当上传视频时,这给了我很多错误,有些被纠正了。现在我无法将表单中的post数据输入到savevideo.php(我检查了第7
这里的代码在插件中正常工作,但我无法将类似于的结果转换为一个可以在php脚本中使用的图像。任何帮助都会很好。谢谢!
问题内容: 我对jQuery和Ajax函数还比较陌生,但是过去几天一直在使用Ajax表单。我在尝试上传图像时遇到文件上传问题。在寻找资源时,我找不到任何有用的东西,因为它们似乎过于复杂,毫无意义,没有任何解释,这无助于我进一步学习。 我已经编写了以下代码来处理Ajax中的图片上传: 这向文件发送了一个请求,但是没有发送数据,基本上我的表单实际上是这样的: 似乎没有任何数据在标头中传递,我认为我将通