Uploadify和PHP FTP-$\u请求[';文件夹';]未通过
我正在尝试使用uploadify和FTP连接来上传文件。我意识到目录没有被创建,因为js中的“folder”变量没有被传递。我想知道这是否是一个范围的事情。无论如何,这里是js:Uploadify和PHP FTP-$\u请求[';文件夹';]未通过,php,jquery,uploadify,Php,Jquery,Uploadify,我正在尝试使用uploadify和FTP连接来上传文件。我意识到目录没有被创建,因为js中的“folder”变量没有被传递。我想知道这是否是一个范围的事情。无论如何,这里是js: $("#uploadify").uploadify({ 'uploader' : '/lib/jquery.uploadify-v2.1.0/uploadify.swf', 'script' : '/lib/jquery.uploadify-v2.1.0/uploadify.php', 'c
$("#uploadify").uploadify({
'uploader' : '/lib/jquery.uploadify-v2.1.0/uploadify.swf',
'script' : '/lib/jquery.uploadify-v2.1.0/uploadify.php',
'cancelImg' : '/lib/jquery.uploadify-v2.1.0/example/cancel.png',
'folder' : '<?=time()?>',
'queueID' : 'fileQueue',
'multi' : true
我收到一个错误--“ftp_mkdir():无法创建目录。”
我确实检查了一下time()是否得到了回响,确实如此。如果我在那里硬编码一个普通字符串,它就会失败。但是,如果我将$dir更改为等于“which”(而不是request),则将创建目录,但它不会接受request参数。我也试着去发邮件
如果我不使用FTP,也可以使用相同的场景,只需将页面上传到服务器即可–没有问题。您可以通过两种方式进行诊断:
send files
,并且该路径是可写的发送文件
目录确实存在?您可能需要检查并确保send files
位于PHP正在使用的当前工作目录中:
<?php
print getcwd();
?>
使用上面的代码创建一个文件,在浏览器中访问,如果结果与实际包含发送文件的目录/路径不同,您可以在PHP脚本中执行以下两项操作之一进行上载:
将PHP当前工作目录更改为发送文件的路径:chdir('/Users/user/Sites/directory/with/send files/')
。您应该能够将它放在uploadify PHP脚本的顶部,它应该可以工作。但如果没有,请发帖,我可以帮你找出原因李>
在上面PHP脚本中的getcwd()
调用的任何路径中创建send文件
在任何一种情况下,您都需要确保目录send files
存在,并且PHP具有写入该目录的权限。上面的任何一个选项都将有助于第一部分,确保路径存在
然后我们进入第二部分。我们需要确保该目录可由PHP脚本写入。我们将chmod
文件,以便它们是可写的。至少有两种方法可以做到这一点:
如果您知道如何使用命令行/Mac的终端应用程序,请启动它并将cd
发送到send files
所在的目录:cd/Users/user/Sites/path/to/send files
(但在本例中,您希望cd
插入/插入,而不是/send files;]),然后执行此命令:chmod chmod-R 777 send files
如果您不知道如何使用命令行,请学习。它非常有用。但现在,如果您在Mac电脑上,请使用Finder浏览到send files
所在的目录。右键单击发送文件
,然后单击“获取信息”。在信息窗格的底部,展开“共享和权限”部分。单击“信息”窗格右下角的锁,然后输入密码以解锁权限选项,以便您可以编辑它们。将“权限”列中的每个项目更改为“读写”选项。这将使该目录及其所有内容可读/写
然后再次尝试上载文件,看看文件是否在那里结束。它起作用了吗?时间的格式是什么?就路径名而言,它可能包含无效字符,这在您使用的任何操作系统上都是不允许的。当我回显out time()时,它只包含数字--“1284220390”。更奇怪的是。在不使用ajax的情况下,如果我直接转到php文件并将?folder=1284220390添加到URL,则会拾取请求并创建文件夹。可能是time()需要转换为字符串,还是它已经是字符串了?另外,我可以将文件夹编辑为:“'folder':'test'”,但它不起作用。这是一个更新。我收到的响应警告:ftp_mkdir():无法创建目录。在第57行的/Users/user/Sites/site/lib/jquery.uploadify-v2.1.0/uploadify.php中。创建/发送文件/1284224865时出现问题,因此正在通过,但我不确定错误是什么。就像我说的,如果我在php中使用time(),它就会工作。只有当时间()通过uploadify ajax时,它才会失败。
<?php
print getcwd();
?>