Php 警告:chmod():中没有此类文件或目录
好的,我有一个php文件,它允许我上传一个csv文件,读取数据,并输出我需要的任何东西。我在文件上传部分遇到问题 以下是我的全部代码:Php 警告:chmod():中没有此类文件或目录,php,chmod,Php,Chmod,好的,我有一个php文件,它允许我上传一个csv文件,读取数据,并输出我需要的任何东西。我在文件上传部分遇到问题 以下是我的全部代码: define("UPLOAD_DIR", "/tmp/"); # chmod(UPLOAD_DIR, 0777); // show upload form if ($_SERVER["REQUEST_METHOD"] == "GET") { ?> <em>GoCode Upload.</em> <form action="g
define("UPLOAD_DIR", "/tmp/");
# chmod(UPLOAD_DIR, 0777);
// show upload form
if ($_SERVER["REQUEST_METHOD"] == "GET") {
?>
<em>GoCode Upload.</em>
<form action="gocode.php" method="post" enctype="multipart/form-data">
<input type="file" name="myFile"/>
<br/>
<input type="submit" value="Upload"/>
</form>
<?php
}
// process file upload
else if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["myFile"])) {
$myFile = $_FILES["myFile"];
if ($myFile["error"] !== UPLOAD_ERR_OK) {
echo "<p>An error occurred.</p>";
#exit;
}
// ensure a safe filename
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
// don't overwrite an existing file
$i = 0;
$parts = pathinfo($name);
while (file_exists(UPLOAD_DIR . $name)) {
$i++;
$name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}
// preserve file from temporary directory
$success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $name);
if (!$success) {
echo "<p>Unable to save file.</p>";
#exit;
}
// set proper permissions on the new filei
chmod(UPLOAD_DIR . $name, 0777);
echo "<p>Uploaded file saved as " . $name . ".</p>";
}
$fh = fopen(UPLOAD_DIR . $name, 'r'); // 1
$minutes = 0;
$cost = 0;
if ($fh) { // 2
while ( ($row = fgetcsv($fh)) !== false ) { // 3
//print_r($row); // 4
$minutes += $row[0];
$cost += $row[1];
//echo '<br>';
}
}
echo "Minutes: ";
echo number_format((float)$minutes, 2, '.', '');
echo '<BR>';
echo "Cost: $";
echo number_format((float)$cost, 2, '.', '');
echo '<BR><BR><BR>';
我最初的权限是0644,但后来转到0777,看看这是否有效,结果没有。感谢您的帮助。谢谢。第55行,添加:echo UPLOAD\u DIR$名称运行脚本,查看输出是什么。输出明显不正确,请使用错误修复来查看a)上传是否发生,b)地址是否正确当我添加时,它给出了正确的目录:
/tmp/2016-01-19_00-00-00_00_2016-01-19_23-59-59_00.csv
,其中长文件名是我正在上传的文件名……第55行,添加:echo upload_DIR$名称运行脚本,查看输出是什么。输出明显不正确,请使用错误修复来查看a)上传是否发生,b)地址是否正确当我添加时,它给出了正确的目录:/tmp/2016-01-19_00-00-00_00_2016-01-19_23-59-59_00.csv
,其中长文件名是我正在上传的文件名。。。。
chmod(UPLOAD_DIR . $name, 0777);