PHP, Swift-mailer 问题

标签 php swiftmailer

当我点击我的联系页面上的提交按钮,试图提交一个使用 swift-mailer 的表单时,我得到了这个:

Warning: fopen(uploads/) [function.fopen]: failed to open stream: No such file or directory in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php on line 131

Fatal error: Uncaught exception 'Swift_IoException' with message 'Unable to open file for reading [uploads/]' in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php:133

Stack trace: 
#0 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php(77): Swift_ByteStream_FileByteStream->_getReadHandle()
#1 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(660): Swift_ByteStream_FileByteStream->read(8192) 
#2 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(337): Swift_Mime_SimpleMimeEntity->_readStream(Object(Swift_ByteStream_FileByteStream)) 
#3 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(448): Swift_Mime_SimpleMimeEntity->getBody()
#4 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(463): Swift_Mime_SimpleMimeEntity->toString()
#5 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php on line 133

服务器上存在完整路径,尽管错误消息显示“没有这样的文件或目录”。 可能是什么问题呢? 谢谢大家! 圣诞快乐!

最佳答案

您需要提供上传的完整路径,而不是真实路径,因为它将被解释为相对于试图打开您的附件的类文件。

在将路径传递给 Swift 之前尝试使用 realpath

$path = realpath('uploads/');

关于PHP, Swift-mailer 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4531180/

相关文章:

php - 如何在 SwiftMailer 中关闭 Smtp 连接

php - 从 Swift_Message 对象获取附件列表

php - send方法总是返回0

php - 为什么我收到 Swift_TransportException : Unable to connect with TLS encryption in Server?

php - 滚动时对数据库的双重请求

php - 创建灵活的更新查询

php - 如何使用 PHP 复制 PHP 文件

php - 段错误(核心转储)Laravel SwiftMailer

javascript - 如何依次更改 <li> 或 <tr> 颜色

PHP 在新页面上显示 SQL 行的更多列,然后保存