<?
[COLOR="Blue"]$[/COLOR]upload_dir = 'img/';
[COLOR="Blue"]$[/COLOR]upload_url = 'http://img/';
[COLOR="Blue"]$[/COLOR]filename=[COLOR="Red"]strip_tags[/COLOR]([COLOR="Blue"]$[/COLOR]_FILES['fupload']['name']);
[COLOR="Blue"]if[/COLOR](!ereg("\.(png|jpe?g|gif)$", [COLOR="Blue"]$[/COLOR]filename))
{
[COLOR="Blue"]print[/COLOR] "Произошла ошибка при обработке файла, по этому вернитесь <a href='java script:history.back(1)'><B>назад</B></a> и попробуйте снова.";
}[COLOR="Blue"]
elseif[/COLOR] ([COLOR="Red"]move_uploaded_file[/COLOR]([COLOR="Blue"]$[/COLOR]_FILES['fupload']['tmp_name'], [COLOR="Blue"]$[/COLOR]upload_dir .
[COLOR="Blue"]$[/COLOR]_FILES['fupload']['name'])) {
[COLOR="Blue"] print[/COLOR] "Картинка успешно загрузилась.";
[COLOR="Blue"]$[/COLOR]lol="[COLOR="Blue"]$[/COLOR]upload_url"."[COLOR="Blue"]$[/COLOR]filename";
[COLOR="Blue"]print[/COLOR] "<br><br><br><form>Ссылка на картинку: <input size=30 type='text' onmouseover='this.select()' value=\"[COLOR="Blue"]$[/COLOR]lol\"></form>";
[COLOR="Blue"]print[/COLOR] "<br><br><center><a href=\"[COLOR="Blue"]$[/COLOR]lol\"><img src=\"[COLOR="Blue"]$[/COLOR]lol\" width=40%></a></center>";
}
?>
Проблема загрузки фото на сайт [PHP]
Есть форма закачки фото на сайт:
<form action="photoupload.php" method="post" ENCTYPE="multipart/form-data">
Фото* (640x480): <input type="file" name="fn"><br>
Название: <input type="text" name="pname" size="35"><br>
<input type="hidden" name="form_parent_id" value="<? echo $form_parent_id; ?>">
<input type="hidden" name="add" value="<? echo $add; ?>">
<input type="hidden" name="form_type" value="<? echo $form_type; ?>">
<input type="hidden" name="form_id_type_parent" value="<? echo $form_id_type_parent; ?>">
<input type="submit" value="Закачать">
</form>
В обработчике перед закачкой фото пишу следующее
if ($fn_type=="image/jpeg") {
// обработка закачки фото
} else {
echo('Файл не является jpg-файлом.');
}
Проблема в следующем.. На некоторых машинах эта проверка проходит нормально, т.е. если действительно jpg, то закачивает.. Но на других (в частности у заказчика) даже при закачке jpg говорит, что мол это не так... т.е. echo('Файл не является jpg-файлом.'); ... =(
В чем может быть дело? и можно ли как-то по другому проверить тип файла??
з.ы. Проверять расширение файла - смысла нет.
2. Код загрузки пожалуйста. Телепаты повесились.
все стопариться на структуре
if ($fn_type=="image/jpeg") {
}
причем не у всех стопориться... не могу уловить систему в этом...
в некоторых случаях тебе возвращается в качестве мимика не image/jpeg, а image/jpg
Не стал создавать отдельной темы. У меня есть скрипт загрузки картинок, но если путь к картинке не верный то создается новая, как определить существует-ил картинка по указанному пути или нет?
Функция file_exists()
Что-то у меня не получилось..( не погли бы вы показать на примере данного выше кода?
Код:
<?
$upload_dir = 'img/';
$upload_url = 'http://img/';
$filename=strip_tags($_FILES['fupload']['name']);
if(!ereg("\.(png|jpe?g|gif)$", $filename))
{
print "Произошла ошибка при обработке файла, по этому вернитесь <a href='java script:history.back(1)'><B>назад</B></a> и попробуйте снова.";
}
elseif(file_exists($upload_dir.$_FILES['fupload']['name'])) {
print "Файл существует";
}
elseif (move_uploaded_file($_FILES['fupload']['tmp_name'], $upload_dir .
$_FILES['fupload']['name'])) {
print "Картинка успешно загрузилась.";
$lol="$upload_url"."$filename";
print "<br><br><br><form>Ссылка на картинку: <input size=30 type='text' onmouseover='this.select()' value=\"$lol\"></form>";
print "<br><br><center><a href=\"$lol\"><img src=\"$lol\" width=40%></a></center>";
}
?>
$upload_dir = 'img/';
$upload_url = 'http://img/';
$filename=strip_tags($_FILES['fupload']['name']);
if(!ereg("\.(png|jpe?g|gif)$", $filename))
{
print "Произошла ошибка при обработке файла, по этому вернитесь <a href='java script:history.back(1)'><B>назад</B></a> и попробуйте снова.";
}
elseif(file_exists($upload_dir.$_FILES['fupload']['name'])) {
print "Файл существует";
}
elseif (move_uploaded_file($_FILES['fupload']['tmp_name'], $upload_dir .
$_FILES['fupload']['name'])) {
print "Картинка успешно загрузилась.";
$lol="$upload_url"."$filename";
print "<br><br><br><form>Ссылка на картинку: <input size=30 type='text' onmouseover='this.select()' value=\"$lol\"></form>";
print "<br><br><center><a href=\"$lol\"><img src=\"$lol\" width=40%></a></center>";
}
?>
зы. а ваще код ужасен до потрясения %)
if ($fn_type=="image/jpeg" || $fn_type== 'image/pjpeg' || $fn_type=='image/jpg') {
/* Обработка файла */
}
У меня всегда работало норм....