上传图片文件错误
Posted
技术标签:
【中文标题】上传图片文件错误【英文标题】:uploading image file error 【发布时间】:2013-09-22 03:59:59 【问题描述】:当我尝试上传文件时,此 php 脚本正在重新调整错误。我在 win xp 机器上使用 XAMPP。我相信我已经正确设置了共享权限。
脚本:
//For images
if (isset($_FILES['image300x100']) && !empty($_FILES['image300x100']['tmp_name']))
$name = $_FILES['image300x100']['name']; // getting the name of the file
$tempName = $_FILES['image300x100']['tmp_name']; // getting the temporary file name.
$allowedExt = array('jpg', 'jpeg', 'png', 'gif' );// specifying the allowed extentions
$a = explode('.', $name);
$fileExt = strtolower(end($a)); unset($a);//
$fileSize = $_FILES['image300x100']['size'];
$filePath = "";
switch($category)
case 1 : $filePath = "c:/www/Perspect/categories/politics/articleImages"; break;
//etc etc etc
$path = $filePath;
else
$errors[] = 'no file selected';
$moveResult = move_uploaded_file($tempName, $filePath);
留下的错误是:
Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\www\Dev\admin\addNewArticle.php on line 62
Warning: move_uploaded_file(): Unable to move 'C:\Server\XAMPP\tmp\php62C.tmp' to 'c:/www/Dev/categories/bla/articleImages' in C:\www\Dev\admin\addNewArticle.php on line 62
我从我认为正确的路径中删除了c:/
,但结果如下:
temp nameC:\Server\XAMPP\tmp\php62E.tmp filepath
www/Dev/categories/bla/articleImages
Warning: move_uploaded_file(www/Dev/categories/bla/articleImages): failed to open stream: No such file or directory in C:\www\Dev\admin\addNewArticle.php on line 62
Warning: move_uploaded_file(): Unable to move 'C:\Server\XAMPP\tmp\php62E.tmp' to 'www/Dev/categories/bla/articleImages' in C:\www\Dev\admin\addNewArticle.php on line 62
非常感谢任何帮助
【问题讨论】:
【参考方案1】:您需要指定目标文件名,例如:
$filePath = "c:/www/Perspect/categories/politics/articleImages/file.png";
或者,您可以生成一个随机名称。
【讨论】:
我会给它一个特定于图像大小的名称,但我可以将文件名附加到移动函数而不是路径中吗? 我想我意识到我做错了,我在重复一些早期的代码,该代码使用了附加文件名的函数。德普[ @SteveGreen 是的,您可以将其附加到move
函数中。现在可以用了吗?
我刚刚改了:$moveResult = move_uploaded_file($tempName, $filePath."testFile.png");它正在工作,除了文件显示为 0 字节。
感谢您的帮助和 cmets,工作正常。只需要附加名称等,但这应该相当简单。【参考方案2】:
正如错误所说,第二个参数是目录,而不是文件。您需要将文件名添加到目标路径。
【讨论】:
以上是关于上传图片文件错误的主要内容,如果未能解决你的问题,请参考以下文章