Php 在字符串中串联变量
我在PHP中有一个简单的图像上传程序,它正在上传图像,但出于某种原因,它将图像添加到“uploads”目录中,而不是该目录中的文件夹中 变量$uploaddir似乎正在打印正确的字符串,我知道这一点,因为我使用$uploaddir重新命名了图像,并且我可以看到图像的名称与“uploads”文件夹中的文件夹名称相同 我在URL字符串和变量上做了很多搜索,但不能解决这个问题。这是我的密码:Php 在字符串中串联变量,php,string,variables,Php,String,Variables,我在PHP中有一个简单的图像上传程序,它正在上传图像,但出于某种原因,它将图像添加到“uploads”目录中,而不是该目录中的文件夹中 变量$uploaddir似乎正在打印正确的字符串,我知道这一点,因为我使用$uploaddir重新命名了图像,并且我可以看到图像的名称与“uploads”文件夹中的文件夹名称相同 我在URL字符串和变量上做了很多搜索,但不能解决这个问题。这是我的密码: $uploaddir = "uploads/{$site_country}_{$site_state}_{$s
$uploaddir = "uploads/{$site_country}_{$site_state}_{$site_name}";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
$uploaddir=“uploads/{$site\u country}{$site\u state}{$site\u name}”;
$uploadfile=$uploaddir。基本名称($_文件['userfile']['name']);
回声“”;
如果(移动上传的文件($上传文件['userfile']['tmp\u name'],$uploadfile)){
echo“文件有效,已成功上载。\n”;
}否则{
echo“上传失败”;
}
回声“”;
问题在于,您在构建文件路径时输入了一个打字错误
假设文件名为hello.png,则生成的$uploadfile
当前为:
上传/usa_ny_foohhello.png
鉴于您想要:
上传/usa_ny_foo/hello.png
那么,在$uploaddir末尾添加一个/
怎么样
$uploaddir = "uploads/{$site_country}_{$site_state}_{$site_name}/";
或者以更合适的方式,您可以尝试以下方法:
$uploaddir = "uploads/{$site_country}_{$site_state}_{$site_name}";
$uploadfile = $uploaddir . '/' . basename($_FILES['userfile']['name']);
我认为您需要添加
/
$uploadfile = $uploaddir .'/'. basename($_FILES['userfile']['name']);
您需要先创建一个目录
mkdir('uploads/'.$directoryname, 0777, true);
比如说
$uploaddir = "uploads/{$site_country}_{$site_state}_{$site_name}/";
if(!is_dir($uploaddir))
{
if (!mkdir($uploaddir, 0777, true)) {
die('Failed to create folders...');
}
你缺少反斜杠
$uploaddir = "uploads/{$site_country}_{$site_state}_{$site_name}/";
您可能需要首先在
mkdir($uploaddir,0777,true)
您可以简单地使用。=运算符进行字符串连接<代码>$uploadfile.=basename($_FILES['userfile']['name'])代码>对不起,我没有提到,文件夹已创建。然后执行此操作$uploaddir=“uploads/{$site\u country}{$site\u state}}{$site\u name}/”$\u FILES[“file”][“name”];如果(移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\!谢谢lot@conor909很高兴能帮上忙