php 代码 mkdir() 不工作并且没有错误
php code mkdir() not working and no errors
请问我需要帮助,我正在尝试使用 mkdir 上传用户个人资料图片,但它不起作用……但是当我正常使用它时,例如,当我创建一个新的 php 页面并使用时“ mkdir("newdir") “它起作用了
<?php
if (isset($_FILES['profilepic'])) {
if (((@$_FILES["profilepic"]["type"]=="image/jpeg") ||
(@$_FILES["profilepic"]["type"]=="image/png") || (@$_FILES["profilepic"]
["type"]=="image/gif"))&&(@$_FILES["profilepic"]["size"] < 1048576)) {
//1 Megabyte
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
mkdir("userdata/profile_pics/$rand_dir_name");
}
else{
}
}
?>
<p>UPLOAD YOUR PROFILE PHOTO:</p> <br />
<form action="" method="POST" enctype="multipart/formdata">
<img src="./img/default_pic.png" width="70" />
<input type="file" name="profilepic" /><br /><br />
<input type="submit" name="uploadpic" value="Upload Photo"><br />
</form>
也许你应该这样尝试(变量名和单引号)
mkdir("userdata/profile_pics/'$rand_dir_name'");
希望有用。
使用以下代码为您的代码编辑一些代码:
请注意,最好在字符串外部使用变量。您还可以将代码放在 if
语句中以检查它是否正确执行。
编辑
您还需要使用 /
启动 mkdir
调用,或者更好地使用 $_SERVER['document_root']
启动它,这样您就知道您始终可以获得要生成的目录的绝对路径。
if(mkdir("/userdata/profile_pics/".$rand_dir_name)){
print "this worked!";
}
else {
print "This failed";
}
您还需要检查父目录的权限是否正确,是否允许 PHP 用户组在 /profile_pics/
文件夹中创建目录。
您还可以检查 PHP 是否在正确的工作目录中,您可以使用 print gwtcwd();
进行检查
不是因为php,php代码写的很好问题出在htmlhtml表单enctype写错了
这个
<form action="" method="POST" enctype="multipart/formdata">
应该是
<form action="" method="POST" enctype="multipart/form-data">
请问我需要帮助,我正在尝试使用 mkdir 上传用户个人资料图片,但它不起作用……但是当我正常使用它时,例如,当我创建一个新的 php 页面并使用时“ mkdir("newdir") “它起作用了
<?php
if (isset($_FILES['profilepic'])) {
if (((@$_FILES["profilepic"]["type"]=="image/jpeg") ||
(@$_FILES["profilepic"]["type"]=="image/png") || (@$_FILES["profilepic"]
["type"]=="image/gif"))&&(@$_FILES["profilepic"]["size"] < 1048576)) {
//1 Megabyte
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
mkdir("userdata/profile_pics/$rand_dir_name");
}
else{
}
}
?>
<p>UPLOAD YOUR PROFILE PHOTO:</p> <br />
<form action="" method="POST" enctype="multipart/formdata">
<img src="./img/default_pic.png" width="70" />
<input type="file" name="profilepic" /><br /><br />
<input type="submit" name="uploadpic" value="Upload Photo"><br />
</form>
也许你应该这样尝试(变量名和单引号)
mkdir("userdata/profile_pics/'$rand_dir_name'");
希望有用。
使用以下代码为您的代码编辑一些代码:
请注意,最好在字符串外部使用变量。您还可以将代码放在 if
语句中以检查它是否正确执行。
编辑
您还需要使用 /
启动 mkdir
调用,或者更好地使用 $_SERVER['document_root']
启动它,这样您就知道您始终可以获得要生成的目录的绝对路径。
if(mkdir("/userdata/profile_pics/".$rand_dir_name)){
print "this worked!";
}
else {
print "This failed";
}
您还需要检查父目录的权限是否正确,是否允许 PHP 用户组在 /profile_pics/
文件夹中创建目录。
您还可以检查 PHP 是否在正确的工作目录中,您可以使用 print gwtcwd();
不是因为php,php代码写的很好问题出在htmlhtml表单enctype写错了
这个
<form action="" method="POST" enctype="multipart/formdata">
应该是
<form action="" method="POST" enctype="multipart/form-data">