Для меня проблема была в файле uploadify.php
.Они используют:
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
$targetFolder
определяется вами вверху.
, а затем позже:
move_uploaded_file($tempFile,$targetFile);
В примере по умолчанию добавляется целевая папкадо конца $_SERVER['DOCUMENT_ROOT']
.Мой $_SERVER['DOCUMENT_ROOT']
был на самом деле C:\xampp\htdocs
.Итак, чтобы заставить его работать, ваша целевая папка должна быть:
$targetFolder = "/yourSiteFolder/wherever/your/upload/folder/is";
Что я сделал:
Избавился от $_SERVER['DOCUMENT_ROOT']
в целом.Вот мой uploadify.php
файл:
<?php
/*
Uploadify v3.1.0
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
// Define a destination
//$targetFolder = '/sandbox/uploads'; // Relative to the root
if (!empty($_FILES)) {
//$tempFile = $_FILES['Filedata']['tmp_name'];
//$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
//$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($_FILES["Filedata"]["tmp_name"], "uploads/" . $_FILES["Filedata"]["name"]);
echo '1';
} else {
echo 'Invalid file type.';
}
}
?>
Основное изменение в том, что я заменил это:
move_uploaded_file($tempFile,$targetFile);
на это:
move_uploaded_file($_FILES["Filedata"]["tmp_name"], "uploads/" . $_FILES["Filedata"]["name"]);
Изатем закомментировал несколько строк, которые больше не нужны.
И это мой check-exists.php
файл:
<?php
/*
Uploadify v3.1.0
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
// Define a destination
//$targetFolder = 'uploads'; // Relative to the root and should match the upload folder in the uploader script
if (file_exists("uploads/" . $_POST['filename'])) {
echo 1;
} else {
echo 0;
}
?>
А это мой код jquery:
$(function() {
$("#uploadify").uploadify({
height : 30,
swf : 'uploadify/uploadify.swf',
uploader : 'uploadify/uploadify.php',
width : 120
});
});
Примечание о файловой структуре моего сайта:
Все файлы загрузки находятся в корне моего сайта в папке с именем uploadify
.В uploadify
находится папка с именем uploads
, в которую загружаются файлы.
Надеюсь, это поможет.