PHP: 无法从临时目录移动上传的文件
PHP: cant move uploaded file from temp directory
我正在尝试使用此 PHP 脚本将文件上传到动态创建的目录,但没有成功。如果我只设置 $storeFolder = 'uploads';
,该脚本可以正常工作,但不会将它们移动到我的新文件夹中。我已经尝试手动创建文件夹,即使 (eek) 权限设置为 777。甚至仍然没有骰子。
<?php
$ds = DIRECTORY_SEPARATOR;
function curPageURL()
{
$pageURL = 'http';
if (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on") {
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$murl = curPageURL();
parse_str($murl, $result);
$storeFolder = 'uploads' . $ds . $result['f'];
if (!is_dir($storeFolder)) {
mkdir($storeFolder, 775);
}
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname(__FILE__) . $ds . $storeFolder . $ds;
$targetFile = $targetPath . $_FILES['file']['name'];
move_uploaded_file($tempFile, $targetFile);
}
?>
你少了一个零 mkdir($storeFolder, 0775);
手册 http://php.net/manual/en/function.mkdir.php 指出:
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
我正在尝试使用此 PHP 脚本将文件上传到动态创建的目录,但没有成功。如果我只设置 $storeFolder = 'uploads';
,该脚本可以正常工作,但不会将它们移动到我的新文件夹中。我已经尝试手动创建文件夹,即使 (eek) 权限设置为 777。甚至仍然没有骰子。
<?php
$ds = DIRECTORY_SEPARATOR;
function curPageURL()
{
$pageURL = 'http';
if (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on") {
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$murl = curPageURL();
parse_str($murl, $result);
$storeFolder = 'uploads' . $ds . $result['f'];
if (!is_dir($storeFolder)) {
mkdir($storeFolder, 775);
}
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname(__FILE__) . $ds . $storeFolder . $ds;
$targetFile = $targetPath . $_FILES['file']['name'];
move_uploaded_file($tempFile, $targetFile);
}
?>
你少了一个零 mkdir($storeFolder, 0775);
手册 http://php.net/manual/en/function.mkdir.php 指出:
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )