Друзья не могли бы вы мне помочь в сложившейся ситуации? Есть у меня самописная админка, где вместе с статьей заносится миниатюра картинки. Так вот все работает нормально, только на одном хостинге не работает загрузка. Не знаю почему. При этом картинка в папку грузит (по ходу оригинал, ), но потом скрипт останавливается в пути. С чем это может быть связано? Вот кусок кода, где все происходит. PHP: { //иначе - загружаем изображение пользователя $path_to_90_directory = '../files/';//папка, куда будет загружаться начальная картинка и ее сжатая копия $filename = $_FILES['fupload']['name']; $source = $_FILES['fupload']['tmp_name']; $target = $path_to_90_directory.$filename; if (move_uploaded_file($source,$target)) {//загрузка оригинала в папку $path_to_90_directory } else { exit ("<p>Вы не загрузили маленькую картинку.</p>"); } if(preg_match('/[.](GIF)|(gif)$/',$filename)) { $im = imagecreatefromgif($target) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия } if(preg_match('/[.](PNG)|(png)$/', $filename)) { $im = imagecreatefrompng($target);//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия } if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/',$filename)) { $im = imagecreatefromjpeg($target); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия } $w = 170; $w_src = imagesx($im); //вычисляем ширину $h_src = imagesy($im); //вычисляем высоту изображения $ratio = $h_src/$w; $w_dest = round($w_src/$ratio); $h_dest = round($h_src/$ratio); $dest = imagecreatetruecolor($w_dest,$h_dest); imagecopyresampled($dest, $im, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src); $date=time(); //вычисляем время в настоящий момент. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. $mini = $path_to_90_directory.$date.".jpg";//заносим в переменную путь. $delfull = $path_to_90_directory.$filename; unlink ($delfull); }
$path_to_90_directory = '../files/'; на $path_to_90_directory = '/files/'; попробуйте поменять. может статься, что хостинг вас не пускает на уровень выше.
Да нет, картинка попадает в папку, но дальше скрипт перестает работать. Походу после этого код не работает PHP: $filename = $_FILES['fupload']['name']; $source = $_FILES['fupload']['tmp_name']; $target = $path_to_90_directory.$filename; if (move_uploaded_file($source,$target)) {//загрузка оригинала в папку $path_to_90_directory }
понаставьте всяких echo "1"; ... echo "2"; и так далее после каждой строки этого фрагмента и увидите где обрывается. это раз. двас. загляните в лог сервера. вдруг там чо =)