所以我正在努力为我正在工作的项目编写这段代码。我不明白为什么我得到一个数组到字符串转换错误,因为我使用下面的Move_uploaded_file函数,因为我实现了一个foreach循环只与数组中的每个单独的元素工作。还请注意,根据php的错误处理,这个问题是与move_uploaded_file函数有关,而不是与被调用的其他方法有关。
下面是相关代码。(谢谢大家的帮助)。
public function relocate () {
foreach ($this->getFilename() as $name) {
$validate = $this->validatePhoto($name);
$size = $this->getSize($name);
if ($validate && $size) {
if (move_uploaded_file($name, $this->filepath . $this->getFilename())) {
echo "<p> upload complete </p>";
//rename file, redirect header, etc.
} //end if move_uploaded_file
else {
echo "<p> something's up. </p>";
}//end else
}//end if validate && size
}//end foreach
}//end relocate method
你应该用$name
代替$this->getFilename()
, $this->getFilename()
返回一个数组,如果我得到了正确的…
public function relocate () {
foreach ($this->getFilename() as $name) {
$validate = $this->validatePhoto($name);
$size = $this->getSize($name);
if ($validate && $size) {
if (move_uploaded_file($name, $this->filepath . $name)) {
echo "<p> upload complete </p>";
//rename file, redirect header, etc.
} //end if move_uploaded_file
else {
echo "<p> something's up. </p>";
}//end else
}//end if validate && size
}//end foreach
}//end relocate method
应该是
public function relocate () {
foreach ($this->getFilename() as $name) {
$validate = $this->validatePhoto($name);
$size = $this->getSize($name);
if ($validate && $size) {
if (move_uploaded_file($name, $this->filepath . $name)) {
echo "<p> upload complete </p>";
//rename file, redirect header, etc.
} //end if move_uploaded_file
else {
echo "<p> something's up. </p>";
}//end else
}//end if validate && size
}//end foreach
}//end relocate method
当你应该传递$name
时,你将$this->getFileName()
传递给move_uploaded_file()
,因为你已经迭代了$this->getFileName()
返回的数组