【发布时间】:2013-08-20 19:05:32
【问题描述】:
我在将图片上传到我的网站主机时遇到错误。但我在 WAMP 服务器上没有遇到任何问题。这是我遇到的错误。
[20-Aug-2013 00:58:27 America/Denver] PHP Warning: copy(/photos/Light-And-Snow.jpg) [<a href='function.copy'>function.copy</a>]: failed to open stream: No such file or directory in /home/rajeev/public_html/upload.php on line 86
第86行的代码是
mysql_query(
"INSERT INTO
gallery_photos (
`photo_filename`,
`photo_caption`,
`photo_description`,
`photo_keywords`,
`category_name`
) VALUES(
'".addslashes($photos_uploaded['name'][$counter])."',
'".addslashes($photo_caption[$counter])."',
'".addslashes($photo_description[$counter])."',
'".addslashes($photo_keyword[$counter])."',
'".addslashes($_POST['category'])."')"
) or die(mysql_error() . 'Photo not uploaded');
$filetype = $photos_uploaded['type'][$counter];
$extention = $known_photo_types[$filetype];
// Store the orignal file
copy($photos_uploaded['tmp_name'][$counter], $images_dir."/".$photos_uploaded['name'][$counter]);
我做错了什么?感谢您的任何指示...
【问题讨论】:
-
我认为您缺少目录名称 photos
-
如果您的路径正常,则可能是权限问题
-
能否缩小 PHP 本身的上传以删除最后一行的注释 // 标记?这将解释错误消息中对函数“复制”的引用。
-
addslashes()用于 sql 注入保护,因为卫生纸用于吸收飓风后的洪水。你可能认为你是安全的,但你仍然完全容易受到 SQL 注入攻击。